PDA

Показать полную графическую версию : Уделание temp'a с бекапом на несколько дней


Gremlin19
12-12-2008, 13:06
казалось бы всё просто

set TEMP_PATH=C:\temp
set BACKUP_PATH="C:\Documents and Settings\Backup\"

rmdir /s /q %BACKUP_PATH%

xcopy %TEMP_PATH% "C:\Documents and Settings\Backup\" /i /e /v /h /c
for /f "delims=:" %%i in ('dir "%TEMP_PATH%" /b /ad') do rd /s /q "%TEMP_PATH%\%%i"
del "%TEMP_PATH%\" /s /q

Но я хочу что бы бекап лежал пару дней (с учетом что задача запускается каждый день)

добавляю

xcopy %TEMP_PATH% "C:\Documents and Settings\Backup\%date%" /i /e /v /h /c
for /f "delims=:" %%i in ('dir "%TEMP_PATH%" /b /ad') do rd /s /q "%TEMP_PATH%\%%i"
del "%TEMP_PATH%\" /s /q

но задача: каким образом можно будет удалить директорию %date% через день/два/неделю/etc?

ShaddyR
12-12-2008, 15:58
во-первых - поиском пользоваться, как обычно, не модно? Тем более, что вопрос о очистке временных файлов мало того, что давно решен, но и подымается с завидной регулярностью. В обсчем, как это делается по-человечески - можешь глянуть, напр., здесь (http://forum.oszone.net/post-341919.html#post341919).
Во-вторых, рекомендую внимательно полистать тему, специально предназначенную для подобных вопросов:
Нужна помощь в написании BAT | CMD | VBS | WSH файлов (http://forum.oszone.net/thread-106528.html)
(она даже прикреплена, чтоб виднее стать, но это, видимо, также не помогает).
А за это время, глядишь, ответ по оставшейся части вопроса прорастет в этой теме ;)

Собсно, ИМХО для последнего потребуется
1) получить список папок в соответвующей директории
2) обработать его, сравнивая разницу в датах между текущей и находящейся в названии папки
3) если больше 2-х дней - убивать.

ЗЫ: если не секрет - в чем смысл бэкапить ЭТО? Мне для себя, чисто.. ;)




© OSzone.net 2001-2012