dos 重命名文件(夹)ren

所属分类: 脚本专栏 / DOS/BAT 阅读数: 963
收藏 0 赞 0 分享
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同样适用。
更多精彩内容其他人还在看

服务器应用自动重新启动IIS批处理 原创

本站原创的用bat实现重新启动服务器的IIS服务器
收藏 0 赞 0 分享

命令行实现MAC与IP地址绑定 ip mac绑定 如何绑定mac地址

一般手上没有软件,就可以使用这命令行实现MAC与IP地址绑定
收藏 0 赞 0 分享

diskcopy 命令使用说明

diskcopy 命令使用说明
收藏 0 赞 0 分享

arp病毒 防止arp病毒的批处理

建个文本文档 复制以上代码保存为bat文件.加载到启动项去,这样应该能防护到.每次开机时都绑定绑定网关Mac和IP 确实能防止中arp
收藏 0 赞 0 分享

del rd命令行下删除文件不需要确认

del rd命令行下删除文件不需要确认
收藏 0 赞 0 分享

dos下用recover修复损坏的TXT文件

修复损坏的TXT文件的简单方法
收藏 0 赞 0 分享

批处理设置windows服务器的代码ThecSafe1.9.4第1/3页

一个既是服务器安全设置工具,也是一个学习批处理非常好的教程。虽然入手看是难了点,只有带着问题去学习才能真正的去了解。
收藏 0 赞 0 分享

服务器常用批处理代码 原创

经常维护服务器,由于mssql数据库经常会占用大量内存,所以我查找资料写了如下代码,方便自己也利于别人使用,都是直接从服务器上直接拿来的
收藏 0 赞 0 分享

利用mshta调用运行js或vbs的

mshta同时调用js和vbs
收藏 0 赞 0 分享

DOS命令 Interlnk、Intersvr命令使用说明

interlnk    启动简易网客户机 [适用场合]  如果有两台电脑可以通过它和intersvr联成简易的网络,这是条很有          用的命令,但不常用
收藏 0 赞 0 分享
查看更多