@echo off
set /p dt=请输入日期:
set /p pth=请输入路径:
forfiles /p "%pth%" /m *.* /c "cmd /c del /a /f @path" /d -%dt%
for /f "delims=" %%a in ('dir /a-d /b /s "%pth%"^|sort /r') do (
rd "%%a"
)
pause
@echo offsetlocal enabledelayedexpansion
set /p rq=请按这个格式输入日期%date:~0,10%
for /f "tokens=*" %%i in ('dir/b *.txt') do (
set fn=%%i
set fn=!fn:~0,10!
if !fn!==%rq% del "%%i")
因为批处理不能常驻内存,要实现你的目的需要每次开机时都运行一次,所以意思不大,讲几个关键的吧。要能在指定日期运行,先要取出当前日期,然后与指定日期去比较,如果相同就执行下一步命令。
set
file="e:\a.txt"
这儿是设置你准备要删除的文件的
set
year=%date:~0,4%
当前年
set
month=%date:~5,2%
当前月
set
day=%date:~8,2%
当前日
set
now=%year%%month%%day%
这儿就是当前的年月日
set
over=20120101
这儿是指定要执行命令的年月日
然后判断日期是否相同
if
%now% equ
%over% goto
:delfile
比较二个字符串,如果相同就可以执行后面的命令
然后再执行删除命令
:delfile
attrib
-a
-s
-r
-h
%file%
将这个文件去掉存档、系统、只读、隐藏属性
del
%file%
/f/s/q
删除这个文件
del
%0&exit
删除批处理自己并退出
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)