Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Архивирование файлов с добавлением в архив (http://forum.oszone.net/showthread.php?t=332379)

igor.kinma 09-01-2018 10:45 2789928

Архивирование файлов с добавлением в архив
 
Добрый день. Помогите пожалуйста решить вот какую задачу. Есть файловый сервер. Хотелось бы сделать задачу автоматического архивирования файлов с добавлением в архив новых (измененных) файлов.

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

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

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

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

Elven 09-01-2018 12:09 2789944

пока так
Код:

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

rar.exe /?

megaloman 09-01-2018 12:55 2789954

Код:

"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 с таким набором команд/ключей поставленную задачу не решает
Цитата:

Цитата Elven
rar.exe a -ac -ao документы.rar файлы\для\архивации\ »


ИМХО Вызов архиватора нужно прописать в планировщике заданий.

igor.kinma 09-01-2018 13:56 2789961

Скажите я правильно понял нужно использовать команду:

код
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 2789969

igor.kinma, просто сохраните пакетный файл в кодировке OEM/866.

igor.kinma 09-01-2018 14:36 2789974

Простите но ткните носом что я делаю не так.

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

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 2789975

igor.kinma,
Цитата:

Цитата igor.kinma
Скажите я правильно понял нужно использовать команду: »

Всё верно. Единственное, если в указанных именах есть пробелы, то пути надо обязательно указывать в кавычках
Код:

"C:\Program Files\WinRAR\Rar.exe" u "Z:\Box Out\backup.rar" "Z:\Box In\*.*"
Если в пути присутствуют русские буквы и если Вы запускаете архиватор из bat/cmd-файла, то его обязательно надо сохранить в 866 кодировке (DOS).
Цитата:

Цитата igor.kinma
"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 2789979

вот высылаю файл:

Iska 09-01-2018 14:49 2789981

Цитата:

Цитата igor.kinma
Сделал следующее:
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 2789983

Все понял огромное Вам спасибо. Еще раз с Новым 2018 годом. Успехов Вам и Вашим близким и крепкого здоровья!


Время: 15:00.

Время: 15:00.
© OSzone.net 2001-