中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-07 12:55
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]批量重命名问题 查看 816 回复 11
楼 主 [求助]批量重命名问题 发表于 2008-02-20 17:56 ·  中国 辽宁 鞍山 联通
新手上路
积分 12
发帖 5
注册 2007-12-31 17:20
18年会员
UID 107331
性别 男
状态 离线
在网上下了很多.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 发表于 2008-02-20 19:02 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
完全不好用,还是部分?提示什么错误?试试这个

for /f "delims=" %%a in (1.txt) do for /f "delims=" %%b in (2.txt) do ren "%%a" "%%b"
第一高手 第二高手

3 发表于 2008-02-20 20:24 ·  中国 辽宁 鞍山 联通
新手上路
积分 12
发帖 5
注册 2007-12-31 17:20
18年会员
UID 107331
性别 男
状态 离线
2楼的也不行啊
4 发表于 2008-02-20 20:31 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
不要光说不行~~
哎~这样的帖子真,累人,继续哑谜吧~
for /f "delims=" %a in (1.txt) do for /f "delims=" %b in (2.txt) do ren "%a" "%b"
第一高手 第二高手

5 发表于 2008-02-20 20:41 ·  中国 辽宁 鞍山 联通
新手上路
积分 12
发帖 5
注册 2007-12-31 17:20
18年会员
UID 107331
性别 男
状态 离线
打个比方:
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 发表于 2008-02-20 20:50 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
这样呢
@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 发表于 2008-02-20 21:09 ·  中国 辽宁 鞍山 联通
新手上路
积分 12
发帖 5
注册 2007-12-31 17:20
18年会员
UID 107331
性别 男
状态 离线
谢谢6楼的朋友!好用!!非常感谢!!!!
8 发表于 2008-02-20 21:31 ·  马来西亚
初级用户
积分 31
发帖 19
注册 2008-02-05 23:07
18年会员
UID 110255
性别 男
状态 离线
抱歉,请问可不可以问一个题外话?
为什么6楼的大哥的脚本可以从中间开始执行的呢?
批处档不都是从最左边开始执行的吗?
如果前面有空格指令应该错误才对???:o

我是新手。;)

[ Last edited by www0com0my on 2008-2-20 at 09:33 PM ]
hihi~ 大家好,小弟初到贵处,请各位高手多多指教。。。:)
9 发表于 2008-02-21 06:35 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
Originally posted by www0com0my at 2008-2-20 09:31 PM:
抱歉,请问可不可以问一个题外话?
为什么6楼的大哥的脚本可以从中间开始执行的呢?
批处档不都是从最左边开始执行的吗?
如果前面有空格指令 ...

自己动手,丰衣足食。

@echo off
echo 批处理中的空格会导致命令失败吗?
pause
10 发表于 2008-02-21 16:53 ·  马来西亚 吉隆坡联邦直辖区 大马电信
初级用户
积分 31
发帖 19
注册 2008-02-05 23:07
18年会员
UID 110255
性别 男
状态 离线
Originally posted by HAT at 2008-2-21 06:35 AM:

自己动手,丰衣足食。

@echo off
echo 批处理中的空格会导致命令失败吗?
pause

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

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

谢谢,:)
hihi~ 大家好,小弟初到贵处,请各位高手多多指教。。。:)
11 发表于 2008-02-21 20:01 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
Originally posted by www0com0my at 2008-2-21 16:53:

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

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

谢谢,:)

代码缩进,便于查看代码的结构,尤其是在代码比较多时用到,比如几百上千行代码,如果不缩进代码,对于程序员来说维护代码就比较麻烦了。
12 发表于 2008-02-22 19:08 ·  马来西亚
初级用户
积分 31
发帖 19
注册 2008-02-05 23:07
18年会员
UID 110255
性别 男
状态 离线
Originally posted by lxmxn at 2008-2-21 08:01 PM:

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

谢谢你,我明白了。
另外,请问有一段代码很长,还没写完,但是想换到下一行继续写,要怎样写?;)
hihi~ 大家好,小弟初到贵处,请各位高手多多指教。。。:)
论坛跳转: