PDA

Показать полную графическую версию : [решено] Архивирование файлов с добавлением в архив


igor.kinma
09-01-2018, 10:45
Добрый день. Помогите пожалуйста решить вот какую задачу. Есть файловый сервер. Хотелось бы сделать задачу автоматического архивирования файлов с добавлением в архив новых (измененных) файлов.

Пример: Есть папка "Документы" В ней лежат файлы 1 и 2. В 22:00 должен создаться архив Документы.rar, на следующий день в папке документы сохранили файл 3 и изменили файл 2. В 22:00 существующий архив должен дополниться файлом 3 и измененным фалом 2.

Можно вообще так сделать или нет? (мне кажется что нет, но лучше спросить)

Как Вариант создавать новый архив и удалять старый, так сейчас и настроено. Но архивирование начинает занимать много времени так как файлы растут.

Заранее спасибо!

Elven
09-01-2018, 12:09
пока так
rar.exe a -ac -ao документы.rar файлы\для\архивации\
вообще лучше брать список ключей и искать те, которые нужны.
rar.exe /?

megaloman
09-01-2018, 12:55
"C:\Program Files\7-Zip\7z.exe" u Z:\Box_Out\backup Z:\Box_In\*.*либо"C:\Program Files\7-Zip\7zG.exe" u Z:\Box_Out\backup Z:\Box_In\*.*
В папке с установленным архиватором 7z есть справочный файл "C:\Program Files\7-Zip\7-zip.chm"
Читайте команды и ключи. Настраивайте архивацию "под себя".
Кстати, аналогичная команда u есть и у RAR."C:\Program Files\WinRAR\Rar.exe" u Z:\Box_Out\backup Z:\Box_In\*.*
"C:\Program Files\WinRAR\WinRar.exe" u Z:\Box_Out\backup Z:\Box_In\*.*
Если запустить Winrar.exe, то в графическом интерфейсе можно прочитать подробную справку об использовании архиватора.
rar.exe a -ac -ao документы.rar файлы\для\архивации\ »
ИМХО Вызов архиватора нужно прописать в планировщике заданий.

igor.kinma
09-01-2018, 13:56
Скажите я правильно понял нужно использовать команду:

C:\Program Files\WinRAR\Rar.exe" u Z:\Box_Out\backup Z:\Box_In\*.*

C:\Program Files\WinRAR\Rar.exe - путь к программе WinRar

Z:\Box_Out\backup - куда архивировать

Z:\Box_In\*.* - что архивировать

Сейчас попробовал все работает как нужно, но есть одна проблема. У меня в пути присутствуют русские названия папок.

и я получаю это:
Невозможно создать D:\ЄхёЄ\рЁїшт.rar
Системе не удается найти указанный путь.

Можно как то сделать с русскими именами папок или придется все переименовывать?

Сделал так:

chcp 1251 >nul

"C:\Program Files\WinRAR\Rar.exe" u "D:\Тест\архив" "D:\Тест\файлы\*.*"

pause

В командной строке все равно пишет ломанные буквы но архив делается. Но заметил что архивируются только файлы находящиеся в папке D:\Тест\файлы. Папки не архивируются и архив создается не в папке D:\Тест\архив а в папке D:\Тест

Iska
09-01-2018, 14:22
igor.kinma, просто сохраните пакетный файл в кодировке OEM/866.

igor.kinma
09-01-2018, 14:36
Простите но ткните носом что я делаю не так.

Сделал следующее:

1) открыл Notepad++ ввел "C:\Program Files\WinRAR\Rar.exe" u "D:\Тест\архив\backup.rar" "D:\Тест\файлы\*.*"
2) нажал Кодировки - Кодировки - Кириллица - OEM 866 получил "C:\Program Files\WinRAR\Rar.exe" u "D:\╥хёЄ\рЁїшт\backup.rar" "D:\╥хёЄ\Їрщы√\*.*"
3) сохранить как - имя файла arhiv тип файла bat.
4) запускаю - получаю

D:\Тест>"C:\Program Files\WinRAR\Rar.exe" u "D:\╥хёЄ\рЁїшт\backup.rar" "D:\╥хёЄ\
Їрщы√\*.*"

RAR 5.11 Авторские права (c) 1993-2014 Александр Рошал 27 Aug 2014
Зарегистрировано: RARLab

Невозможно создать D:\╥хёЄ\рЁїшт\backup.rar
Системе не удается найти указанный путь.
Работа программы прервана

D:\Тест>pause
Для продолжения нажмите любую клавишу . . .

megaloman
09-01-2018, 14:37
igor.kinma,
Скажите я правильно понял нужно использовать команду: » Всё верно. Единственное, если в указанных именах есть пробелы, то пути надо обязательно указывать в кавычках"C:\Program Files\WinRAR\Rar.exe" u "Z:\Box Out\backup.rar" "Z:\Box In\*.*"Если в пути присутствуют русские буквы и если Вы запускаете архиватор из bat/cmd-файла, то его обязательно надо сохранить в 866 кодировке (DOS)."C:\Program Files\WinRAR\Rar.exe" u "D:\Тест\архив" "D:\Тест\файлы\*.*"
... Но заметил что архивируются только файлы находящиеся в папке D:\Тест\файлы. Папки не архивируются и архив создается не в папке D:\Тест\архив а в папке D:\Тест »Что попросили, то и получили.
"D:\Тест\архив" - это имя архивного файла (по умолчанию он примет расширение .rar) Если надо создать архив в папке архив, то надо
"D:\Тест\архив\имя архива.rar"
Вы не писали, что в "D:\Тест\файлы\" содержит подпапки, которые тоже надо архивировать. Читайте описание! Если архивировать с папками, надо применить ключ -r
"C:\Program Files\WinRAR\Rar.exe" u -r "Z:\Box Out\backup.rar" "Z:\Box In\*.*"
Вы запутались в кодировках. Пришлите Ваш файл.

igor.kinma
09-01-2018, 14:44
вот высылаю файл:

Iska
09-01-2018, 14:49
Сделал следующее:
1) открыл Notepad++ ввел "C:\Program Files\WinRAR\Rar.exe" u "D:\Тест\архив\backup.rar" "D:\Тест\файлы\*.*"
2) нажал Кодировки - Кодировки - Кириллица - OEM 866 получил "C:\Program Files\WinRAR\Rar.exe" u "D:\╥хёЄ\рЁїшт\backup.rar" "D:\╥хёЄ\Їрщы√\*.*"
3) сохранить как - имя файла arhiv тип файла bat.
4) запускаю - получаю »
А надо было:
1) открыл Notepad++
2) нажал Кодировки - Кодировки - Кириллица - OEM 866
2а) ввел "C:\Program Files\WinRAR\Rar.exe" u "D:\Тест\архив\backup.rar" "D:\Тест\файлы\*.*"

Далее по списку.

igor.kinma
09-01-2018, 14:51
Все понял огромное Вам спасибо. Еще раз с Новым 2018 годом. Успехов Вам и Вашим близким и крепкого здоровья!




© OSzone.net 2001-2012