中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-25 22:16
47,812 主题排行 / 349,910 发帖 / 今日 0 篇 / 48,264 会员排行
DOS批处理 & 脚本技术(批处理室) » [已结]批量修改文件名前缀的批处理
可打印版本  8,692 / 8
第1楼 xdonx 发表于 2006-03-29 14:15
新手上路 发帖 2 积分 8
[已结]批量修改文件名前缀的批处理
我想把一个目录下的以AB开头的文件名改为ABC开头,
用ren AB*.* ABC*.*
发现改后的文件名少了个字符,如原来的AB123.TXT 变成了ABC23.TXT,后面的1没有了,请问如何解决?


───────────────── 版务记录 ─────────────────
执行:Will Sort
操作:修改标题 - 19796 - 请教重命名问题
说明:原主题作者在通知发出三日后仍未申诉或修改,由版主修改并进行处罚
提示:请访问 {7326}论坛新手必读,所有人的基本行为准则
───────────────── 版务记录 ─────────────────


[ Last edited by willsort on 2006-3-30 at 15:42 ]
第2楼 doscc 发表于 2006-03-29 18:00
中级用户 发帖 93 积分 256 来自 广东
第3楼 3742668 发表于 2006-03-29 18:28
荣誉版主 发帖 718 积分 2,013
setlocal enabledelayedexpansion
for %%i in (*.txt) do set cxs=%%i && ren !cxs! !cxs:b=bc!
ren *.bcat *.bat
endlocal
第4楼 willsort 发表于 2006-03-30 09:55
元老会员 发帖 1,512 积分 4,432
Re 3742668:

你的程序存在着一个小漏洞,当主文件名中含有不位于首部的字母B时,将会导致多余的替换操作。

Re doscc:

程序中保存变量n1,n2是没有必要的,可依照 3742668 兄的思路进行修改。

第5楼 xdonx 发表于 2006-03-30 10:01
新手上路 发帖 2 积分 8
搞定了!
感谢大家,让我又学到了一招!:)
第6楼 doscc 发表于 2006-03-30 15:15
中级用户 发帖 93 积分 256 来自 广东
Originally posted by willsort at 2006-3-30 09:55:
Re 3742668:

你的程序存在着一个小漏洞,当主文件名中含有不位于首部的字母B时,将会导致多余的替换操作。

Re doscc:

程序中保存变量n1@...


第7楼 catiav6 发表于 2006-12-08 16:13
新手上路 发帖 1 积分 3
再请教
我用上述代码作类似的--更改文件名问题
结果发现一次最多只能改25个文件,再多就会进入死循环,就是
ABCCCCCC…….txt

请教是什么原因?
第8楼 lxmxn 发表于 2006-12-08 23:56
版主 发帖 4,938 积分 11,386

  试试下面这个,经过测试,我这里是可行的。
第9楼 uemuem 发表于 2006-12-09 00:44
初级用户 发帖 68 积分 153 来自 上海
记下了,以后或许有用
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023