
批處理怎樣刪除指定天數日期之前的文件夾已經找到相關的批處理程序,不過運行一直提示語法錯誤。有三個方案http://chiensq.blog.163.com/blog/static/10356283311313371/ 以方案三為例子:【方案三】BAT + VBS@echo off::演示:刪除指定路徑下指定天數之前(以文件夾的最后修改日期為準)的文件夾。::如果演示結果無誤,把rd前面的echo去掉,即可實現真正刪除。::本例調用了臨時VBS代碼進行日期計算,并統一設置系統日期格式,處理完畢::之后再把日期格式恢復成原來的狀態。擺脫了對reg命令(XP系統自帶)的依賴。 rem 指定待刪除文件夾的存放路徑set SrcDir=C:testrem 指定天數set DaysAgo=1>%temp%BackupDate.vbs echo Set WshShell = Wscript.CreateObject(Wscript.Shell)>>%temp%BackupDate.vbs echo Wscript.Echo WshShell.RegRead (HKEY_CURRENT_USERControl PanelInternationalsShortDate)for /f %%a in ('cscript /nologo %temp%BackupDate.vbs') do (set RegDateOld=%%a)>%temp%UnifyDate.vbs echo Set WshShell = Wscript.CreateObject(Wscript.Shell)>>%temp%UnifyDate.vbs echo WshShell.RegWrite HKEY_CURRENT_USERControl PanelInternationalsShortDate, yyyy-M-d, REG_SZcscript /nologo %temp%UnifyDate.vbs>%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 FmtDatefor /f %%a in ('cscript /nologo %temp%DstDate.vbs') do (set DstDate=%%a)set DstDate=%DstDate:~0,4%-%DstDate:~4,2%-%DstDate:~6,2%for /d%%a in (%SrcDir%*.*) do (if %%~ta leq %DstDate% (if exist %%aecho rd /s /q %%a)))>%temp%RecoverDate.vbs echo Set WshShell = Wscript.CreateObject(Wscript.Shell)>>%temp%RecoverDate.vbs echo WshShell.RegWrite HKEY_CURRENT_USERControl PanelInternationalsShortDate, %RegDateOld%, REG_SZcscript /nologo %temp%RecoverDate.vbspause總是在運行到紅色字體部分的代碼的時候提示“命令語法不正確”請各位高手幫忙看看錯哪里了?另外,紅色字體的部分是不是多了一個右括號?網上有很多份代碼,都這么寫的,我估計第一份寫錯了,其他的都是復制的。

