中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-07 21:38
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求批处理一个 改名的 要求如下 查看 936 回复 2
楼 主 求批处理一个 改名的 要求如下 发表于 2008-03-23 14:05 ·  中国 重庆 涪陵区 联通
新手上路
积分 6
发帖 2
注册 2008-03-23 13:33
18年会员
UID 113767
性别 男
状态 离线
在A文件夹下有N个文件夹 A1 A2 ......AN
每一个文件夹下都有一个文件 B1 B2........BN
在A文件夹下另外有一个rename.txt文件
文件内容有N行 每行都有一个字符串
2156487478
4578484874
.................
1256454458

要求有一个批处理
自动读取rename.txt文件对应的行数内容为文件B1 B2........BN改名
例如 读取第一行2156487478 将文件B1改名为2156487478
读取第二行4578484874将文件B2改名为4578484874

可能是我想复杂了 搞了N久都没有搞好 请高手帮忙
2 发表于 2008-03-23 14:39 ·  中国 福建 三明 电信
中级用户
★★
积分 458
发帖 211
注册 2006-07-26 19:42
20年会员
UID 59307
状态 离线
把rename.txt文件拖到此批处理中运行。
此处我假设文件扩展名为.txt,不是的话自己改。

cd /d "%~dp1"
for /f "delims= eol=" %%i in ('findstr /n .* %1') do (
set "str=%%i"
call set "str=%%str:*:=%%"
call :rn
)
goto :eof
:rn
set/a num+=1
ren "A%num%\B%num%.txt" "%str%.txt"
goto :eof



cd /d "%~dp1"
for /f "delims= eol=" %%i in ('findstr /n .* %1') do (
set "str=%%i"
call set "str=%%str:*:=%%"
call :rn
)
goto :eof
:rn
set/a num+=1
ren "A%num%\B%num%" "%str%"
goto :eof


[ Last edited by wxcute on 2008-3-23 at 02:42 PM ]
┌───────┐
├→学习→实践→┤
└───────┘
3 发表于 2008-03-24 13:00 ·  中国 重庆 涪陵区 联通
新手上路
积分 6
发帖 2
注册 2008-03-23 13:33
18年会员
UID 113767
性别 男
状态 离线
Thank U very much
论坛跳转: