中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 运行一次批处理多次修改文件名?
作者:
标题: 运行一次批处理多次修改文件名? 上一主题 | 下一主题
mydaisy
新手上路





积分 12
发帖 5
注册 2007-10-17
状态 离线
『楼 主』:  运行一次批处理多次修改文件名?

我的批处理功能如下:
有若干个文件:1.txt 2.txt ……999.txt。现在想修改成 1文化.txt 2文化.txt……999文化.txt
批处理程序如下:
@echo off
setlocal enabledelayedexpansion
for %%i in (*.*) do (
set name=%%i
set n1=!name:~0,-4!
set n2=!name:~-4!
ren %%i !n1!c!n2!
)
但是在测试的时候发现有的文件进行了多次改名。如1文化文化.txt,但是大部分都是正确的一次修改,还请各位大大帮忙指出错误!

2007-10-17 11:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
mydaisy
新手上路





积分 12
发帖 5
注册 2007-10-17
状态 离线
『第 2 楼』:  

倒数第二行为:
ren %%i !n1!文化!n2!
刚才是测试代码,忘了改正了

2007-10-17 11:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 3 楼』:  


@echo off
for %%i in (*.*) do ren "%%i" "%%~ni文化%%~xi"
[ Last edited by 26933062 on 2007-10-17 at 01:24 PM ]



致精致简!
2007-10-17 13:22
查看资料  发短消息 网志   编辑帖子  回复  引用回复
mydaisy
新手上路





积分 12
发帖 5
注册 2007-10-17
状态 离线
『第 4 楼』:  

多谢楼上,%%~ni应该是代表的.之前的内容吧?
但是多次运行这个批处理之后,还是会出现文件多次修改。如运行2次之后,有的文件名会多出一个“文化”出来,即3个文化,如: 1文化文化文化.txt
请问这个如何解决啊?应该不是批处理程序的问题

2007-10-17 16:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 5 楼』:  


@echo off
setlocal enabledelayedexpansion
for %%i in (*.*) do (
set var=%%~ni
set var=!var:文化=!
ren "%%i" "!var!文化%%~xi"
)




致精致简!
2007-10-17 21:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复
mydaisy
新手上路





积分 12
发帖 5
注册 2007-10-17
状态 离线
『第 6 楼』:  

多谢帮忙哈,还是有那个问题,可能文件数太多(500个),造成处理时重复了吧?
不过还好我只要求.txt前面有 文化 就可以了,感谢!!

2007-10-17 21:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
mydaisy
新手上路





积分 12
发帖 5
注册 2007-10-17
状态 离线
『第 7 楼』:  

不好意思,刚才用的时候没弄清楚,现在好了,感谢26933062!

2007-10-17 21:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
long626201
初级用户




积分 100
发帖 52
注册 2006-3-2
来自 云南
状态 离线
『第 8 楼』:  

对了吧,用For 最好了

2007-10-18 14:44
查看资料  发送邮件  发短消息 网志  OICQ (63602458)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: