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

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

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

Аватара для Tonny_Bennet

Ветеран


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


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

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


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

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


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

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

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


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

 

Ветеран


Contributor


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

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


Код: Выделить весь код
Echo off
Set Name=%~n0
Set Dir=%~dp0

rem Set DirR=%Dir%
Set DirR=C:\

echo echo off >"%Tmp%\~%Name%.bat"
echo "C:\Program Files\Winrar\Winrar.exe" M -r -ep1 -sfx "%DirR%%Name%.exe" "%Dir%" >>"%Tmp%\~%Name%.bat"
Echo Echo ---------------------------------------------------------- >>"%Tmp%\~%Name%.bat"
echo if exist "%DirR%%Name%.exe" ( >>"%Tmp%\~%Name%.bat"
echo    Echo Создан архив "%DirR%%Name%.exe" >>"%Tmp%\~%Name%.bat"
echo ) Else ( >>"%Tmp%\~%Name%.bat"
echo    Echo !!!! Архив создать не удалось "%DirR%%Name%.exe" >>"%Tmp%\~%Name%.bat"
echo ) >>"%Tmp%\~%Name%.bat"
Echo Echo ---------------------------------------------------------- >>"%Tmp%\~%Name%.bat"
echo Pause >>"%Tmp%\~%Name%.bat"
Start "CMD" CMD /c "%Tmp%\~%Name%.bat"
Смысл всей возни - батник генерирует новый батник в папке для врменных файлов, оттуда его затем запускает. При этом Start упаковщику не нужен вовсе, пока упаковщик не отработает, батник далее исполняться не будет. Недостающие на ваш взгляд ключи для упаковщика припишите самии (коментарии-иконки). Мелкая неприятность - в папке %Tmp% остаётся батник. Но я, например, перед завершением работы эту папку чищу, а, во вторых, несколько байт погоды не делают.
Если батник запускается из разных папок, чтобы эти служебные батники не размножались, вместо имени "%Tmp%\~%Name%.bat" придумать какое-то постоянное, например,
"%Tmp%\~kuku.bat"

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


Последний раз редактировалось megaloman, 20-05-2011 в 16:38.

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

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



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

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


Googler


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

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


Цитата sov44:
после архивирования, командная строка сразу закрывается »
можно взять всё это в скобки:
Код: Выделить весь код
(
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
)
Это сообщение посчитали полезным следующие участники:

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


Ветеран


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

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


megaloman, спасибо, принцип понятен, но пока сложен для понимания.
amel27, респект! Всё работает, как надо!

Отправлено: 16:34, 20-05-2011 | #43


Ветеран


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

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


Подскажите, как отредактировать скрипт
Код: Выделить весь код
start "Rar" /wait "C:\Program Files\Winrar\Winrar.exe" M -r -ep1 -sfx -iicon"1.ico" -z"komm.txt" "C:\%Arhiv%" "%~dp0"
чтобы создать архив папки с подпапками, запуская командный файл в одной из подпапок.

Отправлено: 21:30, 15-06-2011 | #44


Ветеран


Contributor


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

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


Заменить "%~dp0", которое указывает на путь к батнику, на конкретное полное имя папки, которую архивируем, например, "E:\My backup\"

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

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

Отправлено: 09:47, 16-06-2011 | #45


Ветеран


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

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


Уважаемые знатоки! Нужна помощь по упаковке в 7z sfx архив папки с подпапками и файлами. Есть замечательный скрипт gora http://forum.oszone.net/post-1436397-46.html ,однако он "заточен" под конкретную программу, а не под набор папок и файлов. Самостоятельно подправить его под свои нужды не получается.

Отправлено: 19:48, 18-08-2011 | #46


Аватара для gora

Ушёл из жизни


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

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


Цитата sov44:
набор папок и файлов »
Приведите свой список файлов и папок, которые нужно упаковать. Папки нужно упаковывать со всем содержимым? Расположение папок и файлов относительно скрипта (желателен один уровень) ?

Последний раз редактировалось gora, 18-08-2011 в 20:19.


Отправлено: 20:04, 18-08-2011 | #47


Ветеран


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

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


Цитата gora:
Приведите свой список файлов и папок, которые нужно упаковать. »
Office 2010 SP1
Код: Выделить весь код
Access.ru-ru
AddSettings
Admin
Catalog
Excel.ru-ru
......
Proofing.ru-ru
ProPlus.WW
Publisher.ru-ru
Rosebud.ru-ru
Updates
Word.ru-ru
autorun.inf
msksm.cmd
README.HTM
setup.exe
Цитата gora:
Папки нужно упаковывать со всем содержимым? »
да
Цитата gora:
Расположение папок и файлов относительно скрипта (желателен один уровень)? »
да, скрипт должен находится в одном уровне с папками и файлами.

п.с. Если ещё и удастся заменить заменить иконку sfx на свою ( "Updates\1.ico" - reshacker присутствует в системе ), установить вручную дату сборки, добавить описания для понятия принципа работы скрипта, было бы вообще супер.

Отправлено: 20:54, 18-08-2011 | #48


Ветеран


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

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


Вопрос создания архива решен. Спасибо gora!

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


Пользователь


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

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


Здравствуйте, ребята. Помогите решить такую задачу. Имеется папка, в ней *.exe файлы и *.txt файлы с описанием. Структура такова
Код: Выделить весь код
\explorer.exe
\explorer.exe.txt

\NOTEPAD.EXE
\NOTEPAD.EXE.txt

\regedit.exe
\regedit.exe.txt
Прошу помощи в насании скрипта или батника который упаковал бы файлы с похожими имена в отдельный архив. То есть чтобы
Код: Выделить весь код
\explorer.exe
\explorer.exe.txt
заархивировался в explorer.exe.zip
Код: Выделить весь код
\NOTEPAD.EXE \NOTEPAD.EXE.txt
в notepad.exe.zip и так далее.

Отправлено: 22:10, 13-10-2011 | #50



Компьютерный форум 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




 
Переход