set DaysAgo=10
set LogPath=d:\mac_test\
forfiles /p %LogPath% /m * /d -%DaysAgo% -c "cmd /c del /q @FILE" >> delete_old_backup.log
1.针对仅仅是删除文件夹下的文件的操作:
使用del命令,单纯的删除文件操作,如下:
del /f /s /q C:\Users\dell\AppData\Local\Temp\*.*
2.删除文件夹操作
使用rd命令,删除空文件夹,如下:
rd /s /q C:\Users\dell\AppData\Local\Temp\A
3.删除文件和文件夹操作:
使用的是del命令+rd命令,先删除文件,在进入相应文件夹删除文件夹下的文件夹,如下:
del /f /s /q C:\Users\dell\AppData\Local\Temp\*.*
cd C:\Users\dell\AppData\Local\Temp
rd /s /q C:\Users\dell\AppData\Local\Temp
最后,我贴出我的删除文件.bat的全部内容,有需要的可以直接拷贝然后穿件一个txt文件拷贝进去,再把后缀名改成bat就可以了。代码如下:
@echo off
:loop
del /f /s /q C:\Users\dell\AppData\Local\Temp\*.*
cd C:\Users\dell\AppData\Local\Temp
rd /s /q C:\Users\dell\AppData\Local\Temp
@ping 127.0.0.1 -n 1800 >nul
goto loop
这个命令是删除temp文件下的所有文件及文件夹,并且是一次操作后1800s后重复执行。
1、删除文件
del命令参数说明
/F 强制删除只读文件。
/S 从所有子目录删除指定文件。
/Q 安静模式。删除全局通配符时,不要求确认。
/A 根据属性选择要删除的文件。
删除指定属性或指定属性以外的文件,/AR、/AH、/AS、/AA分别表示删除只读、隐藏、系统、存档文件,/A-R、/A-H、/A-S、 /A-A表示删除除只读、隐藏、系统、存档以外的文件。例如“DEL/AR *.*”表示删除当前目录下所有只读文件,“DEL/A-S *.*”表示删除当前目录下除系统文件以外的所有文件。
不知道文件是什么属性,那么使用del /a即可。
del /a /f /s desktop.ini 搜索当前目录下的所有子文件夹,并删除指定文件
del temp\* /q /f /s 将直接删除本目录的temp 目录的所有文件,没有任务提示
2、forfiles命令:
forfiles [/p Path ] [/m SearchMask ] [/s ] [/c Command ] [/d [{+ | - }] [{MM / DD / YYYY | DD }]]
参数列表
/p Path
指定Path ,表明要从哪里开始搜索。默认的文件夹是当前工作目录,该目录通过键入句号(.) 指定。
/m SearchMask
按照SearchMask 搜索文件。默认的SearchMask 是*.* 。
/s
指示forfiles 在子目录中搜索。
/c Command
在每个文件上运行指定的Command 。带有空格的命令字符串必须用引号括起来。默认的Command 是"cmd /c echo @file" 。
/d [{+ | - }] [{MM / DD / YYYY | DD }]
选择日期大于或等于(+ )(或者小于或等于(- ))指定日期的文件,其中MM / DD / YYYY 是指定的日期,DD 是当前日期减去DD 天。如果未指定+ 或- ,则使用+ 。DD 的有效范围是0 - 32768。
/?
在命令提示符下显示帮助。