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

Показать сообщение отдельно

Ветеран


Contributor


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

Профиль | Отправить 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