Форум
Написать нам
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: as-master  
Форум MMB » Всё о программе Multimedia Builder » Общие вопросы по MMB » bat-файл
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)

Прикрепления: bat2exe.part1.rar (488.3 Kb)


 
ZyXp10itДата: Вторник, 02 Сентября 2008, 11:17 | Сообщение # 4
Поднаторевший
Группа: Проверенные
Сообщений: 60
Репутация: 0
Награды: 0
Статус: Offline
вторая часть конвертера
Прикрепления: bat2exe.part2.rar (411.7 Kb)


 
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
Не вижу сложности в тот же самый батник добавить еще одну строку, как у меня и написано smile
Или формировать весь батник сразу, что еще умнее. А последней строкой прописывать эту.


Да пребудет с вами ММВ!
 
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)
с запуском второго проекта после завершения батника (который делает что-то еще) из первого проекта

Писал же где-то, как удалить самого себя, используя батник. Многие весчи вообще исключительно бат-файлом организовать можно smile Нужно только подойти с другой стороны к проблеме (лучше сзади happy )


Жизнь оказалась не такой уж и забавной, как поначалу...
 
lorentsДата: Вторник, 02 Сентября 2008, 21:37 | Сообщение # 12
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
так я слегка не догоняю wacko

код моего бантика

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, благодарю biggrin

сейчас обьясняю зачем мне все это
иногда приходится иметь дело с тем что я использую архиваторы которые мало кому известны а следовательно и 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, одним словом как закончу то что задумал сразу покажу что я имел ввиду, и всем станет понятно biggrin , просто описывать словами для чего все это я не смогу

Добавлено (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
Первый проект с успехом может работать как заставка,

ты меня раскусил cool

Quote
Да ты гонишь!
Меню проект - внедренные файлы, добавляешь к проекту свою лобуду,
при старте она распаковываеться в темпе, при завершении проги удаляеться автоматом.
Ты что никогда не видел <Embedded>?

про это я знаю, а тормозить запуск моего проекта не будет если моя лабуда весит 100 мега в лучшем случаи, в хочшем пару гигов? dry


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
Выполнить запускаемый файл в невидимом режиме и подождать завершения.
Первый никуда не прячеться, просто становиться неактивным.
А если он завершаеться по нажати кнопки и так его запустим - альт стрл дел и убивам
запущенный процес. happy
 
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
Всё таки батник:

лучше бантика:





Прикрепления: 5332669.jpg (5.8 Kb) · 2483441.jpg (3.8 Kb)


Да пребудет с вами ММВ!
 
lorentsДата: Среда, 03 Сентября 2008, 08:39 | Сообщение # 30
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
Alex3A, может я туплю но, я так и не могу понять как разархивировать архив через MMB?
может у кого то есть пример?


Image Optimizer - сборник программ для оптимизации картинок без потери качества.
 
Форум MMB » Всё о программе Multimedia Builder » Общие вопросы по MMB » bat-файл
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: