cmd ren命令 重命名文件(夹)
2009-07-05 14:17
836 查看
ren 的用法很简单,其使用格式为:ren 旧文件 新文件名。例如,把test.txt改写为abc.txt,使用 ren test.txt abc.txt即可。
需要注意的是,旧文件可以使用绝对路径,也可以使用相对路径,但是,新文件名不能使用任何路径,只能是新的文件名,即使这个路径就是当前目录。例如:需要修改d:\test\abc.txt这个文件的名字为xyz.txt的话,如果当前路径位于d:\test,那么,命令可以写成:ren abc.txt xyz.txt、ren d:\test\abc.txt xyz.txt,但是,绝对不能写成ren d:\test\abc.txt d:\test\abc.txt这样的格式。之所以会有这个古怪的规定,可能是一旦把路径写成另外的目录,ren就具备了“移动文件+重命名文件”的功能了,这和它的定位不相符。
虽然ren的用法很简单,但是,它的功能却很强大,这主要得益于ren支持*和?这两个通配符:*表示任意多个字符,?表示一个字符。例如,要把所有的以.txt作为后缀名的文件改为以.doc作为后缀名,使用ren *.txt *.doc 即可,简简单单的一条语句,瞬间就改动了大量的文件,CMD命令简洁而又不失强大的特点在这里体现得淋漓尽致。又例如,要把以abc字符串打头、并且只有5个字符的txt文件改名为以xyz字符串打头,那么,可以这样写:ren abc??.txt xyz??.txt。
需要引起高度重视的是,ren在使用通配符的时候,它的匹配规则十分奇特且过于复杂,不适合新手理解,在此不再展开做详细的解释。若想了解其中的详情,请参考这篇帖子:这是不是ren的一个bug?http://www.cn-dos.net/forum/viewthread.php?tid=29538。若确实需要使用通配符,建议熟读这篇帖子;若实在难以理解,则退而求其次,只用通配符做后缀名的修改工作,可以不用深究这些复杂的规则。
ren还有一个十分奇特的属性:当文件具备隐藏属性或系统属性的时候,ren将不起作用,需要把文件的隐藏或系统属性去掉方可更名,对只读属性的文件,ren可顺利更名。这在很多时候给我们制造了很多麻烦:当你不知道要即将更名的文件是否具备隐藏或系统属性的时候,直接ren是很成问题的,;如果希望在重命名文件的时候,还必须保持原有的文件属性,则更加让人痛苦万分。
怎么办?
如果不介意文件的属性是否被改动,那么,保险的做法是,用 attrib -s -h 命令先去掉文件可能存在的系统属性或隐藏属性,然后再ren之;如果还要求更名后的文件要保持原有的属性的话,高效的做法是:先用for语句中的 %%~ai 扩展获取原文件的属性,经过处理之后保存到变量中去,然后用 attrib -s -h 去掉文件可能存在的系统属性或隐藏属性,ren之后,再读取保留在变量中的属性值,用 attrib 恢复原有的文件属性。
对于文件夹,ren同样适用。
需要注意的是,旧文件可以使用绝对路径,也可以使用相对路径,但是,新文件名不能使用任何路径,只能是新的文件名,即使这个路径就是当前目录。例如:需要修改d:\test\abc.txt这个文件的名字为xyz.txt的话,如果当前路径位于d:\test,那么,命令可以写成:ren abc.txt xyz.txt、ren d:\test\abc.txt xyz.txt,但是,绝对不能写成ren d:\test\abc.txt d:\test\abc.txt这样的格式。之所以会有这个古怪的规定,可能是一旦把路径写成另外的目录,ren就具备了“移动文件+重命名文件”的功能了,这和它的定位不相符。
虽然ren的用法很简单,但是,它的功能却很强大,这主要得益于ren支持*和?这两个通配符:*表示任意多个字符,?表示一个字符。例如,要把所有的以.txt作为后缀名的文件改为以.doc作为后缀名,使用ren *.txt *.doc 即可,简简单单的一条语句,瞬间就改动了大量的文件,CMD命令简洁而又不失强大的特点在这里体现得淋漓尽致。又例如,要把以abc字符串打头、并且只有5个字符的txt文件改名为以xyz字符串打头,那么,可以这样写:ren abc??.txt xyz??.txt。
需要引起高度重视的是,ren在使用通配符的时候,它的匹配规则十分奇特且过于复杂,不适合新手理解,在此不再展开做详细的解释。若想了解其中的详情,请参考这篇帖子:这是不是ren的一个bug?http://www.cn-dos.net/forum/viewthread.php?tid=29538。若确实需要使用通配符,建议熟读这篇帖子;若实在难以理解,则退而求其次,只用通配符做后缀名的修改工作,可以不用深究这些复杂的规则。
ren还有一个十分奇特的属性:当文件具备隐藏属性或系统属性的时候,ren将不起作用,需要把文件的隐藏或系统属性去掉方可更名,对只读属性的文件,ren可顺利更名。这在很多时候给我们制造了很多麻烦:当你不知道要即将更名的文件是否具备隐藏或系统属性的时候,直接ren是很成问题的,;如果希望在重命名文件的时候,还必须保持原有的文件属性,则更加让人痛苦万分。
怎么办?
如果不介意文件的属性是否被改动,那么,保险的做法是,用 attrib -s -h 命令先去掉文件可能存在的系统属性或隐藏属性,然后再ren之;如果还要求更名后的文件要保持原有的属性的话,高效的做法是:先用for语句中的 %%~ai 扩展获取原文件的属性,经过处理之后保存到变量中去,然后用 attrib -s -h 去掉文件可能存在的系统属性或隐藏属性,ren之后,再读取保留在变量中的属性值,用 attrib 恢复原有的文件属性。
对于文件夹,ren同样适用。
您可能感兴趣的文章:
相关文章推荐
- cmd ren命令 重命名文件(夹)
- CMD批量文件重命名命令
- 入门命令8-重命名文件(夹):ren
- 利用Excel和ren命令批量重命名文件技巧
- cmd chcp命令切换字符格式 cmd重定向输出到文件出现中文乱码的处理方法
- Linux(cent OS)下软件包管理-rpm命令管理-包命名与依赖性/安装升级与依赖/查询/校验与文件提取
- cmd命令执行bat文件目录和参数都带有空格执行出错怎么解决
- 用CMD命令快速安全的导入备份的SQL大文件
- 通过VS2010命令提示窗口创建强命名文件时报错问题
- 最近系统整理一下 linux 各配置文件备份、编译命令备份、源文件路径、编译命名路径等记录
- Java:调用CMD命令打开文件或系统程序
- Python cmd中输入'pip' 不是内部或外部命令,也不是可运行的程序或批处理文件。
- 使用CMD 命令创建指定大小的文件
- cmd脚本构造htm文件-----Net 命令速查手册
- cmd下提示“不是内部或外部命令,也不是可运行的程序或批处理文件
- 电脑中如何在cmd中正确使用cd命令切换文件目录
- WIN7的CMD界面下输入ipconfig后提示不是内部或外外部命令,也不是可运行的程序或批处理文件
- 使用.bat文件自动向cmd输入命令(双击运行,烧写系统)
- C#打开本地文件,或者执行cmd命名
- 批处理命令实现文件规范重命名