命令
1.遍历文件,使用forfiles
2.删除文件,使用del
3.删除文件夹,使用rd
1.删除文件
1.若命令调用,则直接运行下面即可,中间不会堵塞
set "cur_path=%~dp0"
set "del_path=%cur_path%\logs\"
forfiles /p %del_path% /m *.log /d -7 /c "cmd /c del /f @path\"
说明:
cur_path
:表示执行脚本的当前路径
del_path
:表示删除文件所在文件夹
forfiles /p %del_path% /m *.log /d -7
:表示查询指定文件夹下,后缀为.log的文件,日期在七天之前的文件
/c "cmd /c del /f @path\"
: 上面遍历到符合条件的文件,然后执行del命令
2.若想看命令执行的内容,可以加上pause
比如,admin用户下,想要查看桌面有哪些前15天的文件,可以通过如下命令
set "cur_path=%~dp0"
set "del_path=%cur_path%Desktop\"
forfiles /p %del_path% /m *.txt /d -15 /c "cmd /c echo @path\"
pause
从上图可知,今天是3月1号,向前推15天,那么就是2月15号,只要日期在2月15号之前的文件,都会被找出来,然后再一个个执行cmd命令
2.删除文件夹
set "cur_path=%~dp0"
set "del_path=%cur_path%\logs\"
forfiles /p %del_path% /d -7 /c "cmd /c rd /q /s @path\"
参考
Windows删除指定时间之前指定后缀名的文件
windows下删除指定日期前的文件
win7 如何批量删除指定日期以前的文件
del和rd命令,网上可以再随便搜来看就行了