|
coolstar14
初级用户
积分 111
发帖 4
注册 2005-2-20
状态 离线
|
『楼 主』:
[求助]如何实现文件批量重命名(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 一直不行, 求助各位大侠, 请多多指教.
|
|
2005-2-20 00:00 |
|
|
chenhui530
高级用户
积分 772
发帖 273
注册 2004-10-23
状态 离线
|
『第
2 楼』:
你
|
http://www.msfans.net/bbs/ |
|
2005-2-20 00:00 |
|
|
chenhui530
高级用户
积分 772
发帖 273
注册 2004-10-23
状态 离线
|
『第
3 楼』:
如果你的系统是nt构架的话可以使用FOR语句for /l %%a in (1,1,99) do ren sanguo%%a.txt 0%%a.txt
|
http://www.msfans.net/bbs/ |
|
2005-2-20 00:00 |
|
|
chenhui530
高级用户
积分 772
发帖 273
注册 2004-10-23
状态 离线
|
『第
4 楼』:
for /l %%a in (1,1,99) do ren sanguo%%a.rm 0%%a.rm
|
http://www.msfans.net/bbs/ |
|
2005-2-20 00:00 |
|
|
coolstar14
初级用户
积分 111
发帖 4
注册 2005-2-20
状态 离线
|
『第
5 楼』:
谢谢楼上.
我是2000系统, 所有你给的答案应该是正解了.
我刚试了一把, 基本应该算成功的. 它确实在每个文件前面都加了个0, 虽然不像我希望的那样( 可以区分出位数, 统一补全对应的位数,像sg1.rm 补为 sg001.rm sg10.rm 则只补1个0为sg010.rm), 但稍麻烦一点把这个命令使用两遍也就是了.
另: 对于其中的语法解释我还不是太明白, 正在找Window的帮助, 如果大侠方便, 能不能稍微解释一下.
|
|
2005-2-20 00:00 |
|
|
coolstar14
初级用户
积分 111
发帖 4
注册 2005-2-20
状态 离线
|
『第
6 楼』:
受教了.
我知道之前我弄了半天For 为什么不行了, 思路不对的啦.
之前我的思路是局限在从文件名上取变量, 根本没想到可以直接用 1 -99 当变量的说.
我原来 是这样用的 for %a in (sg?.rm) do echo ren %a ...
很明显上面那句是可以列出所有符合要求的文件, 但实际命令中因为无法取到数字部分, 所以只能是失败了.
OK, 再次感谢楼上, 不仅是解决问题, 而且教会我一种新的思路.
|
|
2005-2-20 00:00 |
|
|
chenhui530
高级用户
积分 772
发帖 273
注册 2004-10-23
状态 离线
|
『第
7 楼』:
没有大家互相学习多实践就能找出答案
|
http://www.msfans.net/bbs/ |
|
2005-2-20 00:00 |
|
|
Climbing
铂金会员
网络独行侠
积分 6962
发帖 2753
注册 2003-4-16 来自 河北保定
状态 离线
|
『第
8 楼』:
用命令怪麻烦的,安装一个拖把更名器,想怎么改就怎么改。
|
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
|
|
2005-2-20 00:00 |
|
|
bush
银牌会员
积分 2165
发帖 730
注册 2004-4-21
状态 离线
|
『第
9 楼』:
的確受教!nt命令行較之dos真是改變很大呀!
|
|
2005-2-21 00:00 |
|