2013-10-11 103 views
0

我正在編寫一個批處理腳本,以便自動刪除早於7天的特定文件夾,以防止我的磁盤變滿。有沒有什麼方法可以自動執行此操作,以便在可用磁盤空間低於2GB時運行它?或者我只需要自動執行任務,並讓它檢查啓動是否符合運行要求?磁盤空間不足時自動運行批處理文件

回答

1
@echo off 
set space_cmd=2147483648 
:loop 
FOR /F "delims=" %%i IN ('dir c:\') DO set space=%%i 
set process_01=%space% 
set process_02=%process_01:~-26% 
set process_03=%process_02:.=% 
set process_04=%process_03: bytes free=% 
set result=%process_04% 
cls 
echo. 
echo. 
title %result%/%space_cmd% 
echo Free space: %result% 
echo Limit: %space_cmd% 
if "%result%" LEQ "%space_cmd%" goto command 
ping -n 2 127.0.0.1>nul 
goto loop 
:command 
mkdir c:\temp_7_days_older 
robocopy c:\* c:\temp_7_days_older /move /minage:7 /maxage:10 
rmdir /q /s c:\temp_7_days_older 
goto loop 

試試這個

+0

感謝。你知道任何根據文件夾名稱進行選擇的方法(只應複製名稱類似YYYY-MM-DD的文件夾) – Andreas

0

您可以安排腳本定期在任務計劃程序中運行。

對於腳本在磁盤空間不足時刪除文件,它需要一直運行並定期檢查自己。