2013-10-11 3 views
0

Я пишу сценарий партии, чтобы автоматически удалять определенные папки старше 7 дней, чтобы мой диск не заполнился. Есть ли способ автоматизировать это, чтобы он работал, когда свободное место на диске ниже 2 ГБ? Или мне просто нужно автоматизировать задачу и позволить ей проверить запуск, выполнив требование на выполнение?Автоматически запускать пакетный файл, когда дисковое пространство становится низким

ответ

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

Вы можете запланировать запуск сценария периодически в планировщике задач.

Чтобы сценарий удалял файлы, когда дисковое пространство становится низким, оно должно выполняться все время и периодически проверять себя.

Смежные вопросы