Войти

Показать полную графическую версию : Нужен батник (архивация самого свежего файла с последующим копированием)


shade_art
16-09-2016, 12:50
Здравствуйте

Задача создать батник, который будет выполнять следующее

1. Выбирает самый свежий файл из тех что находятся в папке (скорее всего это будет .bak)
2. Архивирует его сильным сжатием и устанавливает пароль (winrar видимо?)
3. После того, как завершится процесс сжатия, перемещает готовый архив на сетевую папку.


Спасибо заранее за помощь!!

Iska
16-09-2016, 13:23
самый свежий файл »
«Свежий» по дате создания или по дате последней модификации?

shade_art
16-09-2016, 14:51
По дате создания файла.

megaloman
16-09-2016, 15:44
@Echo Off

Set "Where=D:\Delete"
Set "Mask=*.*"
Set "Out=Z:\Box_Out"

Set "Dir=Dir /A:-D /O:-D /T:C"
rem Set "Dir=Dir /A:-D /O:-D /T:W"

Set "Rar="C:\Program Files\WinRAR\Winrar.exe" a -ep -m5 -pPASSWORD"

FOR /F "usebackq tokens=1,2,3,* skip=5" %%i IN (`%Dir% "%Where%\%Mask%" 2^>nul`) DO (
Set "FDate=%%i"
Set "FTime=%%j"
Set "FName=%%l"
GoTo :Continue
)
GoTo :Eof
:Continue

Set "NFName=%FDate:~6,4%%FDate:~3,2%%FDate:~0,2%_%FTime:~0,2%%FTime:~3,2% %FName% .rar"
rem If Exist "%Out%\%NFName%" GoTo :Eof

%Rar% "%Out%\%NFName%" "%Where%\%FName%"1. Сделано по времени создания. Считаю, что надо делать архив по времени модификации. Для этого уберите rem из строки
rem Set "Dir=Dir /A:-D /O:-D /T:W"
2. Не советую использовать сильное сжатие -m5 в архиваторе rar. Сильно возрастает время архивирования и ненамного лучше ужимается архив. Используйте стандартный -m3, а для больших архивов если критично по времени, то -m2 а то и -m1.
3. Пропишите свои пути, где хранятся
Where исходные файлы
Mask маска файлов для архивации (например, не *.* как у меня, а *.bak)
Out путь, где хранятся архивы, напимер \\Server\Share\Directory
4. Для Rar пропишите, где он находится, и вместо PASSWORD желаемый пароль. Правда, при этом безопасность сомнительна, так как пароль хранится в явном виде в батнике.

В батнике предполагается что формат даты и времени дд.мм.гггг чч:мм

shade_art
16-09-2016, 20:07
Спасибо огромное!!! Буду проверять. Отпишусь по результату.




© OSzone.net 2001-2012