![]() |
Скрипт для авто выключения одного приложения при ручном выключении другого (.exe)
Использую подобный скрипт:
Код:
@ECHO OFF И еще, если можно. Нужно сделать что б этот скрипт как-то скрывался. Сворачивался в трей или еще чего. Что б окно командной строки не маячило перед глазами. |
Цитата:
Что-то другое, т.е. для корректного завершение работы, а также для скрытия окна CMD - как минимум, понадобится WSH, powershell или внешние приложения... |
Цитата:
И тогда никаких пингов — а штатная директива Sleep, не отнимающая у системы лишнее время на обработку. |
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
Цитата:
Можно вообще вручную запускать обе программы а потом вручную обе закрывать. |
Цитата:
Цитата:
Ну, тогда powershell поможет... Цитата:
|
А ладно. Забейте. Как то это слишком сложно...
|
vbs
Код:
PrgDir1 = "D:\Games\Marriage V2.3" |
Цитата:
run.bat Код:
@echo off hide.vbs Код:
Set oTmp=CreateObject("WScript.Shell") Код:
wscript.exe //nologo hide.vbs "run.bat" |
Цитата:
И еще. Не понятно что значит "imagename eq program.exe"? Цитата:
![]() |
Цитата:
Цитата:
Приведите в соответствие названия процессов и всё будет работать Цитата:
Код:
tasklist /? По поводу скрипта hide.vbs: А так: Код:
Set oTmp=CreateObject("WScript.Shell") |
![]() Как я уже говорил, забейте. Ваши скрипты только сильнее лагают. Буду пользоваться тем что сам собрал и вручную выключать приложения... |
vk_k14m@vk, Итак, как я понимаю Вашу задачу после обсуждения непоняток:
vbs
1. Запускается первая программа PrgExe1 которая запускает процесс Prc1 2. Запускается вторая программа PrgExe2 которая запускает процесс Prc2 3. Пауза. Отслеживается наличие Prc1. 4. Если Prc1 отсутствует, убиваем Prc2. Завершаем скрипт. 5. Иначе возвращаемся на 3. Код:
PrgDir1 = "D:\Program Files\MTA Province" ' Папка с первой программой |
Цитата:
Цитата:
Код:
PrgDir1 = "D:\Program Files\MTA Province" ' Папка с первой программой ![]() |
Цитата:
В общем, если кратко: поместите ярлык, скрипт hide.vbs и пакетник run.bat в один каталог. Предварительно проверьте работу пакетника, он должен работать самостоятельно, а после всех проверок и наладки, запускайте в скрытом режиме. Цитата:
Описывайте подробнее и главное - точнее, условия задачи и тогда получите конфетку, а иначе на выходе будет всегда полуфабрикат, который придется допиливать самостоятельно... и это не претензия, если что, а просто констатация, причем касающаяся не только персонально Вас... это достаточно частое явление. :) |
Цитата:
|
Цитата:
Цитата:
Код:
@echo off Код:
Set oTmp=CreateObject("WScript.Shell") Код:
wscript.exe //nologo "D:\здесь путь к папке где он находится\hide.vbs" "E:\здесь путь к папке где он находится\run.bat" PS На всякий случай: "батник" сохраняйте в кодировке 866, скрипт vbs в кодировке 1251... для исключения проблем с кириллицей в путях... |
Цитата:
Цитата:
Цитата:
|
Цитата:
тогда да: и быстро , и четко. |
Хмм... удалил, после уточнений, ибо не совсем понятно будет...
|
vk_k14m@vk, Я исправил скрипт под открывшиеся тонкости задачи. Возьмите его заново. Естественно, с такими данными полноценно протестировать скрипт я не могу ...
|
Цитата:
|
Цитата:
В скрипте же написано Код:
set "prc2=bdcam.exe" ![]() Я убрал из ярлыка //nologo и естественно запускаю от имени администратора. Но этот процесс не хочет убиваться. Хотя просто в командной строке от имени админа прекрасно убивается. Код:
taskkill /f /im bdcam.exe Код:
:close Еще вопрос, окно командной строки, если запускать не через ярлык, должно все время быть на виду пока не убьет процесс? У меня оно открывается и закрывается как раз перед запускам первого приложения. |
Цитата:
Ну его нафиг |
Цитата:
Попробуйте эту строку: Код:
taskkill /f /t /fi "imagename eq %prc2%" Цитата:
1. Замените в начале пакетного сценария off на on 2. Откройте отдельную консоль: Win+R и команда cmd 3. Из этой открытой консоли вызовите пакетный сценарий run.bat и смотрите, что происходит во время его выполнения. Ну и заодно покажите результат Код:
tasklist /fi "imagename eq bdcam*" |
Время: 18:35. |
Время: 18:35.
© OSzone.net 2001-