标题: [文件操作] 批处理怎样给文件夹改名? [打印本页]
作者: nanlu2014 时间: 2014-9-12 09:27 标题: 批处理怎样给文件夹改名?
各位好,目前公司里和银行有业务往来,每周会发送文件,但是文件夹的名称五花八门。有没有办法通过文件夹里的中文为判断把文件夹改成纯数字的。比如“云南机场20140904-20140910” 改成00370056,然后再执行COPY命令把改好后的文件夹复制到指定的路径。因为自己对BAT不精通,所以请各位高手帮忙想想办法。谢谢!
作者: Linuxer 时间: 2014-9-12 09:50
文件夹肯定不止“云南机场20140904-20140910”这一个吧
所有你要把改变的规律写出来,就是变成00370056这个规则是什么?
如果说规则不方便透漏,那你也可以用类似你们内部机构代码编制的“模拟”规则来表示。
这样大家才好帮你写代码,
作者: nanlu2014 时间: 2014-9-12 10:08
本帖最后由 nanlu2014 于 2014-9-12 10:11 编辑
回复 2# Linuxer
嗯,银行有很多家。组合也不只这一个,而且我前面说的00370056也只是其中一个内部代码,这些代码完全是不规则的。而且给过来的文件夹也不是规则的。
作者: xudaweb 时间: 2014-9-12 10:23
回复 3# nanlu2014
待处理的文件夹也没有规律?比如名字含有云南的有几个文件夹?每个名字都是什么样子的。如果没有规律,脚本不好判断吧。
作者: nanlu2014 时间: 2014-9-12 10:40
回复 4# xudaweb
你好,文件夹部份是有规律的。
这是其中有规律和没规律的文件截图。只是一部分,还有很多没规律的,,头大。
作者: DAIC 时间: 2014-9-12 10:48
回复 5# nanlu2014
你手工重命名的话,会依据什么条件?如果连手工重命名都没有任何依据,那更不可能转换成代码了。
作者: nanlu2014 时间: 2014-9-12 13:40
回复 6# DAIC
手工重命名就是把文件夹的名字改成00370056类似这种的数字
作者: DAIC 时间: 2014-9-12 13:43
回复 7# nanlu2014
为什么是00370056而不是12345?依据是什么?
作者: nanlu2014 时间: 2014-9-12 13:50
回复 8# DAIC
这是这个组合的内部代码。为了方便另一个软件读取
作者: tcasdsss 时间: 2014-9-12 14:07
楼主的意思应该是别人给他发一个list 一列是原名称 另一列是改完后的名称 两者一一对应
作者: nanlu2014 时间: 2014-9-12 14:13
回复 10# tcasdsss
差不多是这个意思。有10来家银行不同的组合,这个就可以理解成list的原名称,然后这每个组合都有一个固定的内部代码,这些内部代码都没有规律可寻。00370056、00231260像这样。
作者: DAIC 时间: 2014-9-12 14:48
回复 9# nanlu2014
以5楼截图为例,请告诉我青海银行、三门峡、太平投资、中信投资分别对应哪个数字。
作者: nanlu2014 时间: 2014-9-12 15:02
回复 12# DAIC
写在代码里能替换么?如果能替换,随便用数字代替行么?
作者: nanlu2014 时间: 2014-9-12 15:28
回复 12# DAIC
代码如下
青海银行 00730967
三门峡 00730947
中国电力太平 00731135
中国电力中信 00331138
作者: DAIC 时间: 2014-9-12 15:57
创建一个文件 a.txt
文件夹名称和数字用冒号分割,内容如下
青海银行企业年金太平投资组合:00730967
三门峡黄河明珠(集团)企业年金太平投资组合:00730947
中国电力顾问太平投资组合:00731135
中国电力顾问中信投资组合:00331138
执行代码 test.bat- @echo off
- for /f "tokens=1,2 delims=:" %%i in (a.txt) do (
- ren "%%i" "%%j"
- )
复制代码
作者: nanlu2014 时间: 2014-9-12 16:11
回复 15# DAIC
可以用了。感谢啊!
另外 ,能不能把改好的目录复制到指定的地方?
作者: Linuxer 时间: 2014-9-18 10:50
回复 16# nanlu2014
加个xcopy复制过去就行了。- ...
- ren "%%i" "%%j"
- copy "%%j" 指定路径 /s
- ...
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |