Board logo

标题: [求助]批量重命名问题 [打印本页]

作者: 65620826     时间: 2008-2-20 17:56    标题: [求助]批量重命名问题

在网上下了很多.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楼的大哥的脚本可以从中间开始执行的呢?
批处档不都是从最左边开始执行的吗?
如果前面有空格指令 ...

自己动手,丰衣足食。
@echo off
  echo 批处理中的空格会导致命令失败吗?
   pause

作者: www0com0my     时间: 2008-2-21 16:53


  Quote:
Originally posted by HAT at 2008-2-21 06:35 AM:

自己动手,丰衣足食。
@echo off
  echo 批处理中的空格会导致命令失败吗?
   pause

不好意思,我试了一下,好像真的可以:D
我以为只有wscript才能。。。

那么想请问为什么你们会想在前面放空格呢?
是排版的关系吗?
还是有什么原因呢?;)

谢谢,:)
作者: lxmxn     时间: 2008-2-21 20:01


  Quote:
Originally posted by www0com0my at 2008-2-21 16:53:

不好意思,我试了一下,好像真的可以:D
我以为只有wscript才能。。。

那么想请问为什么你们会想在前面放空格呢?
是排版的关系吗?
还是有什么原因呢?;)

谢谢,:)

代码缩进,便于查看代码的结构,尤其是在代码比较多时用到,比如几百上千行代码,如果不缩进代码,对于程序员来说维护代码就比较麻烦了。
作者: www0com0my     时间: 2008-2-22 19:08


  Quote:
Originally posted by lxmxn at 2008-2-21 08:01 PM:

代码缩进,便于查看代码的结构,尤其是在代码比较多时用到,比如几百上千行代码,如果不缩进代码,对于程序员来说维护代码就比较麻烦了。

谢谢你,我明白了。
另外,请问有一段代码很长,还没写完,但是想换到下一行继续写,要怎样写?;)