bat-файл
|
|
lorents | Дата: Вторник, 02 Сентября 2008, 00:42 | Сообщение # 1 |
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
| у меня такая проблема у меня есть один проект (назовем его проект_1), при запуске проекта_1 запускается bat-файл, после завершения работы bat-файл, надо чтоб выключился проект_1 и запустился другой проект (проект_2) как это сделать?
Image Optimizer - сборник программ для оптимизации картинок без потери качества.
|
|
| |
ZyXp10it | Дата: Вторник, 02 Сентября 2008, 09:34 | Сообщение # 2 |
Поднаторевший
Группа: Проверенные
Сообщений: 60
Репутация: 0
Награды: 0
Статус: Offline
| использовать параметр wait при запуске батника, потом стартовать проект_2 (правда с батниками я этот параметр не проверял, с обычными PE файлами все OK)
|
|
| |
ZyXp10it | Дата: Вторник, 02 Сентября 2008, 11:16 | Сообщение # 3 |
Поднаторевший
Группа: Проверенные
Сообщений: 60
Репутация: 0
Награды: 0
Статус: Offline
| Если с батниками не получится, то можно конвертировать батник в exe (PE формат) с помощью любого конвертера, куча разных вариантов: в поисковике набираешь bat2exe или bat to exe converter и получаешь кучу ссылок, правда некоторые из них палятся тем же каспром как вири (некоторые любители использовали их для конвертации bat-вирей), как правило проблема решается перепаковкой и криптованием... Я сам пользуюсь этим (см. аттач), неплохой, написан на FASM, стаб ~10Kb (разделил на 2 части, т.к. размер аттача ограничен 500 Kb)
|
|
| |
ZyXp10it | Дата: Вторник, 02 Сентября 2008, 11:17 | Сообщение # 4 |
Поднаторевший
Группа: Проверенные
Сообщений: 60
Репутация: 0
Награды: 0
Статус: Offline
| вторая часть конвертера
|
|
| |
as-master | Дата: Вторник, 02 Сентября 2008, 12:07 | Сообщение # 5 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Запуск программы из bat-файла по сути представляет собой ПРОСТО СТРОКУ с путем к запускаемому файлу. Отсюда вывод: если ты заранее не знаешь, откуда должен запускаться проект2, то заготовить заранее bat-файл не удастся. Зато его легко сформировать на ходу, если во время работы проекта1 можно узнать путь к проекту2. Например, путь запуска проекта два содержится в переменной path$. Тогда перед выходом из проекта1 в bat-файл нужно прописать эту строку а затем запустить его. Вот пример с запуском Блокнота: path$='"c:\WINDOWS\notepad.exe"' rv=StrToFile(<Temp>\1.bat,path$,TRUE,TRUE) Run("<Temp>\1.bat","") Кавычки нужны для того, чтобы срабатывали пути с пробелами в именах папок и файлов
Да пребудет с вами ММВ!
|
|
| |
ZyXp10it | Дата: Вторник, 02 Сентября 2008, 12:40 | Сообщение # 6 |
Поднаторевший
Группа: Проверенные
Сообщений: 60
Репутация: 0
Награды: 0
Статус: Offline
| 2 as-amster Как я понял у lorents проблема не с запуском второго проекта из батника, а с запуском второго проекта после завершения батника (который делает что-то еще) из первого проекта
|
|
| |
as-master | Дата: Вторник, 02 Сентября 2008, 13:03 | Сообщение # 7 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Не вижу сложности в тот же самый батник добавить еще одну строку, как у меня и написано Или формировать весь батник сразу, что еще умнее. А последней строкой прописывать эту.
Да пребудет с вами ММВ!
|
|
| |
ZyXp10it | Дата: Вторник, 02 Сентября 2008, 13:46 | Сообщение # 8 |
Поднаторевший
Группа: Проверенные
Сообщений: 60
Репутация: 0
Награды: 0
Статус: Offline
| Quote (as-master) Не вижу сложности в тот же самый батник добавить еще одну строку, как у меня и написано Каюсь... Тормознул :)))
|
|
| |
Alex3A | Дата: Вторник, 02 Сентября 2008, 14:36 | Сообщение # 9 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Что такое у тебя в батнике, что нельзя сделать из билдера, по моему батник у тебя лишний.
|
|
| |
as-master | Дата: Вторник, 02 Сентября 2008, 14:40 | Сообщение # 10 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Quote (Alex3A) по моему батник у тебя лишний Ну почему же лишний? Мало ли какие функции он выполняет... Хотя, может быть ты и прав, в данном конкретном случае. Ведь, как справедливо заметил toizy, вместо бат-файла зачастую можно просто использовать команду Run() с теми же программами и параметрами, что прописываются в бат-файле.
Да пребудет с вами ММВ!
|
|
| |
toizy | Дата: Вторник, 02 Сентября 2008, 15:17 | Сообщение # 11 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Quote (ZyXp10it) с запуском второго проекта после завершения батника (который делает что-то еще) из первого проекта Писал же где-то, как удалить самого себя, используя батник. Многие весчи вообще исключительно бат-файлом организовать можно Нужно только подойти с другой стороны к проблеме (лучше сзади )
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
lorents | Дата: Вторник, 02 Сентября 2008, 21:37 | Сообщение # 12 |
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
| так я слегка не догоняю код моего бантика Code UHARC.exe x -o+ -vm+ -y+ Setup.uha del Setup.uha del UHARC.exe start setup.exe
проблемой с запуском проекта_2 решил через бантик, просто добавил строку start setup.exe вот с выключением проекта_1 после завершения бантика так и не понял? может можно это сделать выключение проекта_1 через сам бантик
Image Optimizer - сборник программ для оптимизации картинок без потери качества.
|
|
| |
as-master | Дата: Вторник, 02 Сентября 2008, 21:49 | Сообщение # 13 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| О выключении через тасккил я писал тут: http://mmbuilder.ru/forum/12-793-9876-16-1220012685 Код для ММВ (его можно прописать в старте второго проекта): Code FileExist("<System>\tskill.exe","check") If (check=TRUE) Then close$='HIDE,WAIT имя_проги' Run("tskill.exe","close$") Else FileExist("<System>\taskkill.exe","check") If (check=TRUE) Then close$='HIDE,WAIT /F /IM имя_проги.exe' Run("taskkill.exe","close$") End End Добавлено (02 Сентябрь 2008, 21:49) --------------------------------------------- А вообще я не понимаю, почему бы тебе не запустить батник и сразу выйти из первого проекта?
Да пребудет с вами ММВ!
|
|
| |
lorents | Дата: Вторник, 02 Сентября 2008, 22:07 | Сообщение # 14 |
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
| as-master, спасибо за код, а нет хотел спросить как сделать чтоб запуск бантика был не видим для пользователя? P.S.: чуть позже я все обьясняю зачем мне это
Image Optimizer - сборник программ для оптимизации картинок без потери качества.
|
|
| |
as-master | Дата: Вторник, 02 Сентября 2008, 22:13 | Сообщение # 15 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| бантика, гы-гы-гы :))) Вот: http://mmbuilder.ru/forum/12-800-9932-16-1220341113 Цитата: "а чтобы не появлялось окно программы, использовать параметр HIDE (см справку)"Добавлено (02 Сентябрь 2008, 22:13) --------------------------------------------- Ну типа вот так попробовать: Run("бат-файл","HIDE")
Да пребудет с вами ММВ!
|
|
| |
Alex3A | Дата: Вторник, 02 Сентября 2008, 22:29 | Сообщение # 16 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Что то жутко неправильное в твоем батнике, похоже на попытку "одноразового" инсталятора, типа установил прогу и уничтохил инсталятор. Стоит записать такое на болванку, и инсталятор остаеться вечным. Вообще ты немного не с того начал, первично это алгоритм а реализация вторична. Судя по первоначальному алгоритму, конечно если ты его правильно описал, проблемы нет никакой, и бат не нужен. Запускаеться первая прога, выполняет все что надо, запускает вторую прогу и закрывакться. Вторая прога, если необходимо, вполне может удалить с диска не только первую, но все что угодно. Так что ты просто опиши чего тебе надо, без привязки к какому либо варианту (бат-шмат).
|
|
| |
lorents | Дата: Вторник, 02 Сентября 2008, 22:38 | Сообщение # 17 |
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
| as-master, благодарю сейчас обьясняю зачем мне все это иногда приходится иметь дело с тем что я использую архиваторы которые мало кому известны а следовательно и winrar эти архивы не понимает, дело в том эти архиваторы сильнее сжимают файлы, можно конечно создать саморазархивирующийся архив, но это не всегда удобно поэтому я ничего не нашел лучше как сделать бантик который сам разархивирует архив, но из-за того что многие пользователи не знают что такое командная строка и тому подобное пришлось ее как то скрыть от пользователя
Image Optimizer - сборник программ для оптимизации картинок без потери качества.
|
|
| |
Alex3A | Дата: Вторник, 02 Сентября 2008, 22:46 | Сообщение # 18 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (lorents) йчас обьясняю зачем мне все это Алиментарная, простая штука, ембедишь архив и архиватор, при запуске проги запускешь архиватор, распаковуешь архив и по закрытию проги никаких следов ни того ни другого.
|
|
| |
lorents | Дата: Вторник, 02 Сентября 2008, 22:54 | Сообщение # 19 |
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
| Alex3A, проекта_2 не существует в прямом смысле слова, до того пока я не разархивирую Setup.uha , это есть ни что иное как архив, его может разархивировать только файл UHARC.exe, а на эти две строки можешь не обращать внимание Code del Setup.uha del UHARC.exe Alex3A, одним словом как закончу то что задумал сразу покажу что я имел ввиду, и всем станет понятно , просто описывать словами для чего все это я не смогу Добавлено (02 Сентябрь 2008, 22:54) --------------------------------------------- Alex3A, Quote Алиментарная, простая штука, ембедишь архив и архиватор, как ты имеешь ввиду объединить ?
Image Optimizer - сборник программ для оптимизации картинок без потери качества.
|
|
| |
Alex3A | Дата: Вторник, 02 Сентября 2008, 23:06 | Сообщение # 20 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Первый проект с успехом может работать как заставка, если нет то он может быть пиксел на пиксел, и если проект без заголовка его ни кто не увидит.Добавлено (02 Сентябрь 2008, 23:06) ---------------------------------------------
Quote (lorents) как ты имеешь ввиду объединить ? Да ты гонишь! Меню проект - внедренные файлы, добавляешь к проекту свою лобуду, при старте она распаковываеться в темпе, при завершении проги удаляеться автоматом. Ты что никогда не видел <Embedded>?
|
|
| |
lorents | Дата: Вторник, 02 Сентября 2008, 23:13 | Сообщение # 21 |
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
| Alex3A, Quote Первый проект с успехом может работать как заставка, ты меня раскусил Quote Да ты гонишь! Меню проект - внедренные файлы, добавляешь к проекту свою лобуду, при старте она распаковываеться в темпе, при завершении проги удаляеться автоматом. Ты что никогда не видел <Embedded>? про это я знаю, а тормозить запуск моего проекта не будет если моя лабуда весит 100 мега в лучшем случаи, в хочшем пару гигов?
Image Optimizer - сборник программ для оптимизации картинок без потери качества.
|
|
| |
Alex3A | Дата: Вторник, 02 Сентября 2008, 23:15 | Сообщение # 22 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Хоть иногда заглядывай в хелп, хотя бы при вводе команд с помощью мастера, там, с лева имееться бокс с хелпом на каждую вводимую команду, к примеру команда RUN может подождать завершения того что ты запустил, или выждать какое то врямя.
|
|
| |
lorents | Дата: Вторник, 02 Сентября 2008, 23:19 | Сообщение # 23 |
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
| Alex3A, пойду почитаю справку,
Image Optimizer - сборник программ для оптимизации картинок без потери качества.
|
|
| |
Alex3A | Дата: Вторник, 02 Сентября 2008, 23:28 | Сообщение # 24 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (lorents) а тормозить запуск моего проекта не будет Обязательно! Вот по этому и нужна заставка, а распакованный проект, после завершения работы, впоне можно убить из первой проги (распаковывать и запускать можно в том же темпе, если вдруг че заглючит, и по завершении не уберет, то его юзер никак не найдет) .
|
|
| |
lorents | Дата: Вторник, 02 Сентября 2008, 23:52 | Сообщение # 25 |
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
| слушайте а почему если у меня код тако Code Run("<SrcDir>\setup.bat","HIDE") то запускается мой проект и бантик не видим а если Code Run("<SrcDir>\setup.bat","HIDE,WAIT") то у меня и проект и бантик не видим, проект появляется только после того, как закончит работать бантик в чем причина?
Image Optimizer - сборник программ для оптимизации картинок без потери качества.
|
|
| |
Alex3A | Дата: Среда, 03 Сентября 2008, 00:05 | Сообщение # 26 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| HIDE,WAIT Выполнить запускаемый файл в невидимом режиме и подождать завершения. Первый никуда не прячеться, просто становиться неактивным. А если он завершаеться по нажати кнопки и так его запустим - альт стрл дел и убивам запущенный процес.
|
|
| |
lorents | Дата: Среда, 03 Сентября 2008, 00:11 | Сообщение # 27 |
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
| а тогда как мне сделать чтоб программа подождала завершения работы бантика?
Image Optimizer - сборник программ для оптимизации картинок без потери качества.
|
|
| |
Alex3A | Дата: Среда, 03 Сентября 2008, 00:45 | Сообщение # 28 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| На фиг тебе батник, все запускай из первого проекта, даже можно запустить разархирование, а за тем запустить файл, двумя последовательными рунами с ожиданием. WAIT!
|
|
| |
as-master | Дата: Среда, 03 Сентября 2008, 00:45 | Сообщение # 29 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Всё таки батник: лучше бантика:
Да пребудет с вами ММВ!
|
|
| |
lorents | Дата: Среда, 03 Сентября 2008, 08:39 | Сообщение # 30 |
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
| Alex3A, может я туплю но, я так и не могу понять как разархивировать архив через MMB? может у кого то есть пример?
Image Optimizer - сборник программ для оптимизации картинок без потери качества.
|
|
| |