回复 16# Batcher | set SrcDir=E:\asdf | | set DaysAgo=1 | | for /f "skip=2 delims=" %%a in ('reg query "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate') do ( | | set "RegDateOld=%%a" | | ) | | set RegDateOld=%RegDateOld:~-8% | | reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d yyyy-M-d /f>nul | | >"%temp%\DstDate.vbs" echo LastDate=date()-%DaysAgo% | | >>"%temp%\DstDate.vbs" echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2) | | >>"%temp%\DstDate.vbs" echo wscript.echo FmtDate | | for /f %%a in ('cscript /nologo "%temp%\DstDate.vbs"') do ( | | set "DstDate=%%a" | | ) | | set DstDate=%DstDate:~0,4%-%DstDate:~4,2%-%DstDate:~6,2% | | echo %DstDate% | | for /d %%a in ("%SrcDir%\*.*") do ( | | | | echo %SrcDir% | | echo %%a | | echo %%~ta | | echo %DstDate% | | if "%%~ta" leq "%DstDate%" ( | | if exist "%%a\" ( | | echo rd /s /q "%%a" | | ) | | ) | | ) | | reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d %RegDateOld% /f>nulCOPY |
括号加了,现在不抱错了,但是好像没有执行删除操作 |