2013-10-11 4 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

작업 스케줄러에서 주기적으로 스크립트가 실행되도록 예약 할 수 있습니다.

디스크 공간이 부족한 경우 파일을 삭제하는 스크립트의 경우 항상 실행 중이며 주기적으로 검사해야합니다.

관련 문제