![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-23 14:39 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,273 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]如何实现文件批量重命名(1.rm --> 001.rm 这样的) |
| 可打印版本 2,197 / 8 |
| 第1楼 coolstar14 | 发表于 2005-02-20 00:00 |
| 初级用户 发帖 4 积分 111 | |
|
[求助]如何实现文件批量重命名(1.rm --> 001.rm 这样的) 从网上下载过一些文件, 命令规则为 1.rm 2.rm ... 11.rm 12.rm ... 100.rm 这样的.
在资源管理器里按文件名排序就不太爽了, dos下有没有方便的方法可以统一的补全三(或指定位数), 即 1.rm --> 001.rm 11.rm --> 011.rm 这样的. 另, 有的情况下, 数字前面还带些前缀, 如 sanguo1.rm 这样的, 应该改成 sanguo001.rm这样. 试了半天的for 一直不行, 求助各位大侠, 请多多指教. |
|
| 第2楼 chenhui530 | 发表于 2005-02-20 00:00 |
| 高级用户 发帖 273 积分 772 | |
|
你
|
|
| 第3楼 chenhui530 | 发表于 2005-02-20 00:00 |
| 高级用户 发帖 273 积分 772 | |
|
如果你的系统是nt构架的话可以使用FOR语句for /l %%a in (1,1,99) do ren sanguo%%a.txt 0%%a.txt
|
|
| 第4楼 chenhui530 | 发表于 2005-02-20 00:00 |
| 高级用户 发帖 273 积分 772 | |
|
for /l %%a in (1,1,99) do ren sanguo%%a.rm 0%%a.rm
|
|
| 第5楼 coolstar14 | 发表于 2005-02-20 00:00 |
| 初级用户 发帖 4 积分 111 | |
|
谢谢楼上.
我是2000系统, 所有你给的答案应该是正解了. 我刚试了一把, 基本应该算成功的. 它确实在每个文件前面都加了个0, 虽然不像我希望的那样( 可以区分出位数, 统一补全对应的位数,像sg1.rm 补为 sg001.rm sg10.rm 则只补1个0为sg010.rm), 但稍麻烦一点把这个命令使用两遍也就是了. 另: 对于其中的语法解释我还不是太明白, 正在找Window的帮助, 如果大侠方便, 能不能稍微解释一下. |
|
| 第6楼 coolstar14 | 发表于 2005-02-20 00:00 |
| 初级用户 发帖 4 积分 111 | |
|
受教了.
我知道之前我弄了半天For 为什么不行了, 思路不对的啦. 之前我的思路是局限在从文件名上取变量, 根本没想到可以直接用 1 -99 当变量的说. 我原来 是这样用的 for %a in (sg?.rm) do echo ren %a ... 很明显上面那句是可以列出所有符合要求的文件, 但实际命令中因为无法取到数字部分, 所以只能是失败了. OK, 再次感谢楼上, 不仅是解决问题, 而且教会我一种新的思路. |
|
| 第7楼 chenhui530 | 发表于 2005-02-20 00:00 |
| 高级用户 发帖 273 积分 772 | |
|
没有大家互相学习多实践就能找出答案
|
|
| 第8楼 Climbing | 发表于 2005-02-20 00:00 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
用命令怪麻烦的,安装一个拖把更名器,想怎么改就怎么改。
|
|
| 第9楼 bush | 发表于 2005-02-21 00:00 |
| 银牌会员 发帖 730 积分 2,165 | |
|
的確受教!nt命令行較之dos真是改變很大呀!
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |