本帖最后由 sinun 于 2014-10-11 23:41 编辑
- @echo off
- schtasks /create /tn DelData /tr "C:\DelData.bat" /sc daily /st 18:00:00 /ru system
-
- set SrcDir=C:\Data
- set DaysAgo=10
- for /f "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%
- for /r "%SrcDir%" %%a in (*.*) do (
- if "%%~ta" leq "%DstDate%" (
- if exist "%%a" (
- del /f /q "%%a"
- )
- )
- )
复制代码 请教各位老师,上面代码的目标是每天18:00自动删除C:\Data里10天之前的文件,10天之内的保留。
将代码保存文件名称为DelData.bat,并放在C:\
(1) 运行DelData.bat,会删除C:\Data里10天之前的文件。同时会新建一个以NT AUTHORITY\SYSTEM为权限的任务计划DelData。这些都是正常的。
(2) 但运行任务计划DelData时,C:\Data里所有文件都被删除了,包括10天之内的文件。特别是第一次运行该任务计划时文件都被删除了,其后多次运行又正常了,不知何因。
请老师指点,为什么运行DelData.bat正常,运行任务计划就不正常了?
还要再请教NT AUTHORITY\SYSTEM为权限的任务计划都有哪些限制,比如net use会异常,等。谢谢!!! |