admin 管理员组文章数量: 1087649
2024年12月30日发(作者:构造哈夫曼树静态三叉链表)
批处理命令删除文件,重命名文件
@echo off
rem %1 为路径参数;
rem del /q /s del /q /s D:数据库-勿删 删除
文件
rem rename D:数据库-勿删 重
命名文件
del /q /s %
rename %
一、删除文件
1、自动删除文件批处理
Example: del /q /s d: //将直接删除d:,
没有任务提示
2、自动删除目录空
Example: rd /q ?s d:testlog //将直接删除d:testlog目录,
如果log目录里面有文件将无法删除
3、删除非空文件的目录
Example:rmdir /q /s d:testlogs //无论里面是否有文件或文件
夹将全部直接删除
Note: 2和3在删除文件时不足之处是必须指定目录名称,Del删
除文件的时候可以使用 “*”代替。
二 、重命名文件
rename 旧文件 新文件名
ren取自rename的前三个字母,name在英文中有“为……取名”
的意思,而re是前缀,有“重新做某事”的含义,结合起来,
rename就是重命名的含义。
ren 的用法很简单,其使用格式为:ren 旧文件 新文件名。例如,
把改写为,使用 ren 即可。
需要注意的是,旧文件可以使用绝对路径,也可以使用相对路径,
但是,新文件名不能使用任何路径,只能是新的文件名,即使这个路
径就是当前目录。例如:需要修改d:这个文件的名字为
的话,如果当前路径位于d:test,那么,命令可以写成:ren
、ren d: ,但是,绝对不能写成
ren d: d:这样的格式。之所以会有这个古怪
的规定,可能是一旦把路径写成另外的目录,ren就具备了“移动文件
+重命名文件”的功能了,这和它的定位不相符。
虽然ren的用法很简单,但是,它的功能却很强大,这主要得益
于ren支持*和?这两个通配符:*表示任意多个字符,?表示一个字符。
例如,要把所有的以.txt作为后缀名的文件改为以.doc作为后缀名,
使用ren *.txt *.doc 即可,简简单单的一条语句,瞬间就改动了大量
的文件,CMD命令简洁而又不失强大的特点在这里体现得淋漓尽致。
又例如,要把以abc字符串打头、并且只有5个字符的txt文件改名为
以xyz字符串打头,那么,可以这样写:ren abc??.txt xyz??.txt。
需要引起高度重视的是,ren在使用通配符的时候,它的匹配规则
十分奇特且过于复杂,不适合新手理解,在此不再展开做详细的解释。
若想了解其中的详情,请参考这篇帖子:这是不是ren的一个bug?。
若确实需要使用通配符,建议熟读这篇帖子;若实在难以理解,则退
而求其次,只用通配符做后缀名的修改工作,可以不用深究这些复杂
的规则。
对于文件夹,ren同样适用。
ren还有一个十分奇特的属性:当文件具备隐藏属性或系统属性的
时候,ren将不起作用,需要把文件的隐藏或系统属性去掉方可更名,
对只读属性的文件,ren可顺利更名。这在很多时候给我们制造了很多
麻烦:当你不知道要即将更名的文件是否具备隐藏或系统属性的时候,
直接ren是很成问题的,;如果希望在重命名文件的时候,还必须保
持原有的文件属性,则更加让人痛苦万分。
怎么办?
如果不介意文件的属性是否被改动,那么,保险的做法是,用
attrib -s -h 命令先去掉文件可能存在的系统属性或隐藏属性,然后再
ren之;如果还要求更名后的文件要保持原有的属性的话,高效的做法
是:先用for语句中的 %%~ai 扩展获取原文件的属性,经过处理之后
保存到变量中去,然后用 attrib -s -h 去掉文件可能存在的系统属性或
隐藏属性,ren之后,再读取保留在变量中的属性值,用 attrib 恢复原
有的文件属性。
/
版权声明:本文标题:批处理命令删除文件,重命名文件 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1735598032a1678439.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论