中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-11 06:04
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎样重命名 A盘中除扩展名是 bak 的文件?(已解决) 查看 1,038 回复 6
楼 主 怎样重命名 A盘中除扩展名是 bak 的文件?(已解决) 发表于 2008-06-19 23:36 ·  中国 四川 成都 腾讯云
初级用户
积分 31
发帖 17
注册 2008-01-04 12:50
18年会员
UID 107637
性别 男
状态 离线
我想把软盘中的文件的扩展名该为bak同时文件的前面加一叹号怎么写批处理?
如果说遇见扩展名是bak的越跳
例如A盘中有:
1258001.txt
1258002.txt
1258003.txt
1258004.txt
1258005.txt
2201.dat
2202.dat
!5521.bak
....

改完的效果是:
!1258001.bak
!1258002.bak
!1258003.bak
!1258004.bak
!1258005.bak
!2201.bak
!2202.bak
!5521.bak
....
谢谢高手指点

[ Last edited by glbosom on 2008-6-20 at 12:19 AM ]
2 发表于 2008-06-19 23:39 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
for /r a:\ %%a in (*.*) do ren "%%a" "%%~na.bak"
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
3 发表于 2008-06-19 23:57 ·  中国 四川 成都 腾讯云
初级用户
积分 31
发帖 17
注册 2008-01-04 12:50
18年会员
UID 107637
性别 男
状态 离线
谢谢二楼的回答 如果说我想让程序自己检测除扩展名是bak的文件自己跳过不操作以免会二次重命名文件 给咋写

[ Last edited by glbosom on 2008-6-19 at 11:59 PM ]
4 发表于 2008-06-20 00:21 ·  中国 四川 成都 腾讯云
初级用户
积分 31
发帖 17
注册 2008-01-04 12:50
18年会员
UID 107637
性别 男
状态 离线
多谢二楼的提醒 在二楼的基础上稍改动了一下
for /r a:\ %%a in (*.*) do (
if not "%%~xa"==".bak" ren "%%a" "!%%~na.bak"
)
5 发表于 2008-06-20 08:10 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
楼主可以仔细测试一下,2楼的代码不加任何判断也不会造成二次重命名的问题。
6 发表于 2008-06-20 12:45 ·  中国 河北 廊坊 电信
初级用户
积分 31
发帖 17
注册 2008-01-04 12:50
18年会员
UID 107637
性别 男
状态 离线
我已测试,因为我把每个文件前面都加了一叹号
如果我第二次运行程序就会把所有的文件都重命名一边会多一叹号
7 发表于 2009-01-23 00:34 ·  中国 广东 东莞 电信
初级用户
积分 50
发帖 44
注册 2008-12-07 13:05
17年会员
UID 133134
性别 男
状态 离线
多谢
测下
论坛跳转: