因為某些檔案備份出來名稱是backup-2017-XX-XX.tsbak
想要用cmd刪除超過七天的檔案,
有找到cmd抓日期時間的寫法,但日期如果小於十都不會顯示0
導致刪除不了檔案,請問是哪邊需要更改?
謝謝!
echo wscript.echo dateadd("d",-7,date) >%tmp%\tmp.vbs
for /f "tokens=1,2,3 delims=/- " %%i in ('cscript /nologo %tmp%\tmp.vbs') do set y=%%i
for /f "tokens=1,2,3 delims=/- " %%i in ('cscript /nologo %tmp%\tmp.vbs') do set m=%%j
for /f "tokens=1,2,3 delims=/- " %%i in ('cscript /nologo %tmp%\tmp.vbs') do set d=%%k
if %m% LSS 9 set m=0%m%
if %d% LSS 9 set d=0%d%
echo %y%%m%%d%
pause
把「小於」(LSS)
if %m% LSS 9 set m=0%m%
if %d% LSS 9 set d=0%d%
改成「小於或等於」(LEQ)
if %m% LEQ 9 set m=0%m%
if %d% LEQ 9 set d=0%d%
試試看
也可以用forfiles這指令。以下是刪除7天前檔案的範例
@title Delete Backup File
rem iniPath1:
set iniPath1=Y:\DBBACKUP
C:\Windows\System32\attrib -S -H -R "%iniPath1%*.*" /S /D
C:\Windows\System32\forfiles /p "%iniPath1%" /s /d -7 /c "cmd /c del /q @path"