bat命令删除指定文件夹下的文件以及空文件夹

  • Post author:
  • Post category:其他


1.删除指定目录下的文件(指定天数之前的30,30为天数,30天之前的文件)

@echo off  
forfiles /p "D:\new\1027\release\image" /s /m *.* /d -30 /c "cmd /c del @path"  
/p  为路径
/s 递归子目录
/m   "*"   匹配所有的文件和目录
/D [+ | -]{MM/DD/YYYY | dd} 	
使用“MM/DD/YYYY”格式选择最后修改日期大于或等于指定日期(+)或小于或等于指定日期(-)的文件。
也可以选择文件的最后修改日期大于或等于(+)当前日期加上“dd”天,或小于或等于(-)当前日期
如上 /d -30  三十天之前的
/c  在每个文件上执行命令,其中命令是命令字符串,用双引号括起来。
默认命令是“cmd /c echo @file”,它显示文件的名称。

2.删除指定目录下的空文件夹

@echo off   
for /f "tokens=*"  %%i in ('dir /s /b /ad  D:\new\1027\release\image\^|sort|  /r')  do  rd  "%%i"
for /f "tokens=*"  %%i in ('dir /s /b /ad  D:\new\1027\release\OriImage\^|sort|  /r')  do  rd  "%%i"
Tokens=*表示删除每行前面的空格。忽略行首的所有空格。
dir /s /b /ad 显示目录下的所有文件

3.删除指定目录下的30天之前的所有文件和所有的空文件夹

@echo off 
forfiles /p "D:\new\1027\release\image" /s /m *.* /d -30 /c "cmd /c del @path"  
for /f "tokens=*"  %%i in ('dir /s /b /ad  D:\new\1027\release\image\^|sort|  /r')  do  rd  "%%i"
for /f "tokens=*"  %%i in ('dir /s /b /ad  D:\new\1027\release\OriImage\^|sort|  /r')  do  rd  "%%i"
关闭回显
@echo off
打开回显
@echo on



版权声明:本文为qq_41100111原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。