Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2735
Благодарности: 1699

Профиль | Отправить PM | Цитировать


Если не принципиально, батник или vbs, то вот решение в батнике
Код: Выделить весь код
@Echo Off
Set Rar="C:\Program Files\Winrar\Winrar.exe" a -r -df

rem Пути без кавычек с \ на конце 
rem -----------------------------
Set WhereIn=Q:\Delete\Servername1\FileRes1\Dir1\In\
Set WhereOut=Q:\Delete\Servername1\FileRes1\Dir1\Out\
Set WhereArc=Q:\Delete\Servername2\FileRes2\BackupDir1\

rem Имя сегодняшней директории, её не архивируем Mmm_Ddd
rem Если дата в системе в формате dd.mm.yyyy
rem ----------------------------------------------------
Set ToDay=M%Date:~3,2%_D%Date:~0,2%

FOR /F "usebackq delims=" %%i IN (`Dir %WhereIn% /B /A:D`) DO Call :InRar "%%i" "%WhereIn%%%i"
FOR /F "usebackq delims=" %%i IN (`Dir %WhereOut% /B /A:D`) DO Call :InRar "%%i" "%WhereOut%%%i"

GoTo :Eof

:InRar

If /I %~1==%ToDay% GoTo :Eof

Set Year=%~t2
Set Year=%Year:~6,4%

Md %WhereArc%%Year% >Nul 1>Nul 2>nul

rem Имя файла архива AchFileNameDDMMYY.RAR
rem --------------------------------------
Set AFN=%~1
Set AFN=AchFileName%AFN:~-2%%AFN:~1,2%%Year:~-2%

%RAR% "%WhereArc%%Year%\%AFN%" "%WhereIn%%~1" "%WhereOut%%~1"

GoTo :Eof
Пути, естественно, пропишите свои.
За удаление файлов отвечает ключ rar -df, он срабатывает при успешном архивировании.
Думаю, на vbs это будет несколько длинее. Будет время и если никто не напишет, изваяю.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 20-03-2011 в 23:06.

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:57, 20-03-2011 | #2