在网上下了很多.swf文件,文件名都是4至6位不等的数字,现有1.txt 里面是每行一个文件名,如377185.swf 15622.swf等等,这里的都是在网上下载的文件的文件名,还有2.txt 里面的是想要修改成的文件名,都是中文的,如第一章第一节 第一章第二节等等,1.txt和2.txt都是每行一个文件名,而且相互是对应的,怎么样能把下载完的文件名改成2.txt里的文件名?
1.txt 2.txt
158475.txt 第一章第一节
13524.txt 第一章第二节
把158475改成第一章第一节,13524改成第一章第二节,依此类推
我试过 for /f %%a in (1.txt) do for /f %%b in (2.txt) do ren %%a %%b
但是不好用啊!帮帮忙啊!
[ Last edited by 65620826 on 2008-2-20 at 06:18 PM ]作者: fastslz 时间: 2008-2-20 19:02 完全不好用,还是部分?提示什么错误?试试这个
for /f "delims=" %%a in (1.txt) do for /f "delims=" %%b in (2.txt) do ren "%%a" "%%b"作者: 65620826 时间: 2008-2-20 20:24 2楼的也不行啊作者: fastslz 时间: 2008-2-20 20:31 不要光说不行~~
哎~这样的帖子真,累人,继续哑谜吧~
for /f "delims=" %a in (1.txt) do for /f "delims=" %b in (2.txt) do ren "%a" "%b"作者: 65620826 时间: 2008-2-20 20:41 打个比方:
1.txt里面的内容如下:
123.txt
548.txt
9879.txt
6544.txt
2.txt里面的内容如下:
abd
wer
piou
uire
需要改名的文件在e:\12\ 文件名为123.txt 548.txt 9879.txt 6544.txt
将123.txt改成abd.txt 548.txt改成wer.txt 9879.txt改成piou.txt 6544.txt改成uire.txt
就是1.txt和2.txt里面的每行相对应改名。作者: terse 时间: 2008-2-20 20:50 这样呢
@echo off
for /f "tokens=1,2* delims=:" %%a in ('findstr /n . "1.txt"') do (
for /f "tokens=1,2*delims=:" %%i in ('findstr /n .* "2.txt"') do (
if %%a equ %%i ren "%%b" "%%j"
)
)
pause作者: 65620826 时间: 2008-2-20 21:09 谢谢6楼的朋友!好用!!非常感谢!!!!作者: www0com0my 时间: 2008-2-20 21:31 抱歉,请问可不可以问一个题外话?
为什么6楼的大哥的脚本可以从中间开始执行的呢?
批处档不都是从最左边开始执行的吗?
如果前面有空格指令应该错误才对???:o
我是新手。;)
[ Last edited by www0com0my on 2008-2-20 at 09:33 PM ]作者: HAT 时间: 2008-2-21 06:35
Quote:
Originally posted by www0com0my at 2008-2-20 09:31 PM:
抱歉,请问可不可以问一个题外话?
为什么6楼的大哥的脚本可以从中间开始执行的呢?
批处档不都是从最左边开始执行的吗?
如果前面有空格指令 ...