![]() |
Архивирование, переименование и перемещение файлов с помощью BAT-файла
Здравствуйте.
Помогите, пожалуйста, с написанием скрипта для следующей задачи: Необходимо с помощью BAT-файла создать архив заданной папки, при необходимости переименовать полученный архив, затем скопировать полученный архив в другие две папки, и после копирования удалить из первоначальной папки все файлы. Например: На диске C есть папка "Archive", в этой папке время от времени будут появляться папки типа "Иванов И.И. Отправка". Необходимо создать zip-архив этой папки, и если в её имени нет нужных пробелов, то переименовать архив так, чтобы получилось, например, "Иванов И. И. Отправка.zip" (то есть пробел после каждого инициала). Если в папке есть две папки (или больше), например, "Иванов И.И. Отправка" и "Петров П. П. Отправка" - то проделать то же самое со всеми этими папками (для каждой папки отдельный архив). Затем скопировать этот архив (архивы) в папку "C:\Отправка" и в папку "C:\Отправленные". После этого полностью очистить папку "C:\Archive" от всех лежащих там файлов. Не знаю, насколько возможна операция с переименованием, но она очень желательна... Из архиваторов в наличии есть 7Zip, но если можно средствами Windows сделать архив - то тоже пойдёт. Заранее спасибо. |
Цитата:
по остальному приблизительно так Код:
pushd c:\Archive |
Проверил. Не получилось.
Для тестирования сделал так: Код:
pushd C:\Test Указанных папок Archive\1\ и Archive\2\ не появилось... Что может быть не так? 7za.exe - такого файла у меня в установленном 7zip нету, поэтому подставил что было... Цитата:
|
Проблема в пробелах. Я вижу в третьей строке одной кавычки не хватает
Код:
"C:\Program Files\7-Zip\7z.exe" a -tzip -r0 "%%d.zip" "%%d" |
Теперь всё работает почти так, как надо (за исключением переименования, с которым пока решено не заморачиваться).
Код:
pushd C:\Test 1. Если в папке C:\Test лежит например две папки, то они все попадают в архив (вернее даже, создаются два архива, но в обоих по две папки), а надо чтобы каждая папка архивировалась отдельно. 2. При удалении удаляются файлы из папок, но сами папки не удаляются, надо чтобы они тоже удалялись. |
Ребят, как можно реализовать сделующее:
Имеем машину с sql, каждый день в 01:00 sql делает резервную копию базы. Нужно брать послдений созданный файл, заархивировать и выложить на расшареную папку в сети. Подскажите такое реально? Что бы не всю папку бакапить |
Реально. Путь к папке? Путь к разделённому ресурсу? Чем будете архивировать?
|
Цитата:
Бакап лежит в папке d:\1C_82_sql Ложить надо в \\192.168.2.254\backup SQL бакап имеет такого плана имя mag_backup_2016_04_23_223501_0446883.bak, в всех совпадает mag_backup_2016_04_23_2235*********.bak WINRAR лежит c:\program files\winrar\winrar.exe |
Время: 17:25. |
Время: 17:25.
© OSzone.net 2001-