Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Архивирование файлов в каталоге

Ответить
Настройки темы
Любой язык - [решено] Архивирование файлов в каталоге

Аватара для Tonny_Bennet

Ветеран


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


Конфигурация

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


Здравствуйте.

Есть необходимость архивировать все файлы (кроме уже существующих архивов) в исходном каталоге. Имя архива должно полностью повторять имя файла за исключением расширения. Скрипт должен работать только в определённый промежуток времени (ночью). При создании архива исходный файл должен удаляться. Также нужно вести логи всего происходящего. Не желательно обращаться к WinRar т.к. это программа платная, а на работе с этим строго.


Есть опыт написание BAT-ников, и VBS-скриптов, но только исходя из готовых примеров.

Хотелось бы чтобы вы дали какие нибудь полезные ссылочки или учебники где всё подробно объясняется. Буду очень признателен

-------
Сообщение оказалось полезным? Кнопка Полезное сообщение располагается чуть ниже.


Отправлено: 11:36, 09-09-2010

 

Ветеран


Contributor


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

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


Имя екзешника=имени батника. Екзешник с архивом в самой папке
Код: Выделить весь код
@Echo off
start "Rar" "C:\Program Files\Winrar\Winrar.exe" M -r -sfx "%~n0.exe" "%~dp0"
В корне C:
Код: Выделить весь код
@Echo off
start "Rar" "C:\Program Files\Winrar\Winrar.exe" M -r -sfx "C:\%~n0.exe" "%~dp0"
Для 7-Zip несколько сложнее и ненадёжнее, я не знаю у 7-zip ключа, который отвечает за удаление файлов после архивации
Код: Выделить весь код
@Echo Off
Set Dir="%~dp0"
Set Name="C:\%~n0.exe"
CD /D %Dir%
"C:\Program Files\7-Zip\7z.exe" a -r -sfx %Name% %Dir%
rd %Dir% /S /Q >nul 1>nul 2>nul

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


Последний раз редактировалось megaloman, 19-05-2011 в 02:41.

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

Отправлено: 00:19, 19-05-2011 | #31



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


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

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


Как сделать, чтобы сама папка, в которой батник не архивировались, а архивировались в sfx только её содержимое с подпапками? Как добавить комментарий и значёк иконки?

Отправлено: 07:08, 19-05-2011 | #32


Ветеран


Contributor


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

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


Цитата sov44:
а архивировались в sfx только её содержимое с подпапками »
Код: Выделить весь код
@Echo off
start "Rar" "C:\Program Files\Winrar\Winrar.exe" M -r -ep1 -sfx "C:\%~n0.exe" "%~dp0"

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

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

Отправлено: 09:19, 19-05-2011 | #33


Ветеран


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

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


Вопрос добавления комментария к rar sfx решен. Информация взята отсюда

Код: Выделить весь код
@Echo off
start "Rar" "C:\Program Files\Winrar\Winrar.exe" M -r -ep1 -z"komm.txt" -sfx "C:\%~n0.exe" "%~dp0"
Осталась не решеной задача добавления значка ico в sfx

отправил запрос в службу поддержки RAR

Последний раз редактировалось sov44, 19-05-2011 в 14:07.


Отправлено: 13:10, 19-05-2011 | #34


Аватара для gora

Ушёл из жизни


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

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


Цитата sov44:
задача добавления значка ico в sfx »
Код: Выделить весь код
ResHacker.exe -addoverwrite "C:\%~n0.exe", "C:\%~n0.exe", 100.ico, Icon, 100,
Для WinRAR есть специальный ключ для смены иконки:
Цитата:
Ключ -IICON<имя> — указать значок для SFX-архива

Данный ключ позволяет указать значок для создаваемого или обновляемого SFX-архива. Параметр <имя> означает имя файла со значком (.ico). При этом SFX-модуль не должен быть сжат с помощью какой-либо программы упаковки исполняемых файлов (например, UPX).

Последний раз редактировалось gora, 19-05-2011 в 14:27.

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

Отправлено: 13:21, 19-05-2011 | #35


Ветеран


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

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


megaloman, gora, спасибо за помощь. Вопрос добавления значка ярлыка тоже решен.
Код: Выделить весь код
@Echo off
start "Rar" "C:\Program Files\Winrar\Winrar.exe" M -r -ep1 -sfx -iicon"1.ico" -z"komm.txt" "C:\%~n0.exe" "%~dp0"

Последний раз редактировалось sov44, 19-05-2011 в 16:15. Причина: опычатка


Отправлено: 15:04, 19-05-2011 | #36


Ветеран


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

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


Подскажите, как отследить окончание работы RAR и вывести Echo?
С пингом не всегда угадывается.

Последний раз редактировалось sov44, 20-05-2011 в 10:33.


Отправлено: 10:20, 20-05-2011 | #37


Googler


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

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


Код: Выделить весь код
start "Rar" /wait "%ProgramFiles%\Winrar\Winrar.exe"
echo WinRAR closed
pause>nul

Отправлено: 14:03, 20-05-2011 | #38


Ветеран


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

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


amel27, не получается. С wait после архивирования, командная строка сразу закрывается.
Код: Выделить весь код
start "Rar" /wait "C:\Program Files\Winrar\Winrar.exe" M -r -ep1 -sfx -iicon"1.ico" -z"komm.txt" "C:\%Arhiv%" "%~dp0"
Echo.
Echo.
Echo Самоустанавливающийся архив %Arhiv% 
Echo создан в корне диска С
ping 127.0.0.1 -n 35 > nul

Отправлено: 15:02, 20-05-2011 | #39


Аватара для gora

Ушёл из жизни


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

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


Цитата sov44:
командная строка сразу закрывается »
Так и должно быть.
Вы используете ключ M который удаляет после архивации все файлы из текущей папки в том числе и сам батник. Поэтому батник и не может выполнить ни чего после строки архивирования ибо его (батника) после архивации больше нет.
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:54, 20-05-2011 | #40



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Архивирование файлов в каталоге

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] узнать количество файлов в каталоге через CMD toro Скриптовые языки администрирования Windows 5 04-12-2013 06:31
Разное - [решено] Как получить список файлов находящихся в каталоге? Kocuk Microsoft Windows 2000/XP 8 27-02-2012 23:25
FreeBSD - PAX архивирование файлов BaguM Общий по FreeBSD 1 05-02-2008 17:33
Проблема в корневом каталоге Pavel1471 Microsoft Windows 95/98/Me (архив) 3 27-10-2004 19:19
Root в корневом каталоге BSOD Microsoft Windows NT/2000/2003 6 08-02-2003 16:34




 
Переход