中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-07 13:35
48,040 主题排行 / 350,125 发帖 / 今日 0 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]批量重命名问题
可打印版本  817 / 11
第1楼 65620826 发表于 2008-02-20 17:56
新手上路 发帖 5 积分 12
[求助]批量重命名问题
在网上下了很多.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 ]
第2楼 fastslz 发表于 2008-02-20 19:02
铂金会员 发帖 2,315 积分 5,493 来自 上海
完全不好用,还是部分?提示什么错误?试试这个

for /f "delims=" %%a in (1.txt) do for /f "delims=" %%b in (2.txt) do ren "%%a" "%%b"
第3楼 65620826 发表于 2008-02-20 20:24
新手上路 发帖 5 积分 12
2楼的也不行啊
第4楼 fastslz 发表于 2008-02-20 20:31
铂金会员 发帖 2,315 积分 5,493 来自 上海
不要光说不行~~
哎~这样的帖子真,累人,继续哑谜吧~
for /f "delims=" %a in (1.txt) do for /f "delims=" %b in (2.txt) do ren "%a" "%b"
第5楼 65620826 发表于 2008-02-20 20:41
新手上路 发帖 5 积分 12
打个比方:
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里面的每行相对应改名。
第6楼 terse 发表于 2008-02-20 20:50
银牌会员 发帖 946 积分 2,404
这样呢
@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
第7楼 65620826 发表于 2008-02-20 21:09
新手上路 发帖 5 积分 12
谢谢6楼的朋友!好用!!非常感谢!!!!
第8楼 www0com0my 发表于 2008-02-20 21:31
初级用户 发帖 19 积分 31
抱歉,请问可不可以问一个题外话?
为什么6楼的大哥的脚本可以从中间开始执行的呢?
批处档不都是从最左边开始执行的吗?
如果前面有空格指令应该错误才对???:o

我是新手。;)

[ Last edited by www0com0my on 2008-2-20 at 09:33 PM ]
第9楼 HAT 发表于 2008-02-21 06:35
版主 发帖 5,017 积分 9,023
Originally posted by www0com0my at 2008-2-20 09:31 PM:
抱歉,请问可不可以问一个题外话?
为什么6楼的大哥的脚本可以从中间开始执行的呢?
批处档不都是从最左边开始执行的吗?
如果前面有空格指令 ...

自己动手,丰衣足食。

第10楼 www0com0my 发表于 2008-02-21 16:53
初级用户 发帖 19 积分 31
Originally posted by HAT at 2008-2-21 06:35 AM:

自己动手,丰衣足食。


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

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

谢谢,:)
第11楼 lxmxn 发表于 2008-02-21 20:01
版主 发帖 4,938 积分 11,386
Originally posted by www0com0my at 2008-2-21 16:53:

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

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

谢谢,:)

代码缩进,便于查看代码的结构,尤其是在代码比较多时用到,比如几百上千行代码,如果不缩进代码,对于程序员来说维护代码就比较麻烦了。
第12楼 www0com0my 发表于 2008-02-22 19:08
初级用户 发帖 19 积分 31
Originally posted by lxmxn at 2008-2-21 08:01 PM:

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

谢谢你,我明白了。
另外,请问有一段代码很长,还没写完,但是想换到下一行继续写,要怎样写?;)
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023