2015-04-27 3 views
1

Я пытаюсь изо всех сил в программировании, но ударился о стену. Я надеюсь, что кто-то может мне помочь. Я использую HTPC и передний медиацентр под названием Kodi. Внутри Kodi у меня есть программа под названием advanced launcher. Поскольку мой MC Kodi имеет сценарий, чтобы всегда быть на вершине, я использую пакетный файл для каждой игры и программы для ПК, которые я пытаюсь запустить. Он выключает Kodi, запускает программу, и когда программа закрыта, возобновляет Kodi. Это работает отлично для большинства программ, но если у него есть пусковая установка (пример, который у меня есть для Dragon Age: Inquisition, а в пусковой установке - Origin), он будет запускаться прямо через весь командный файл, не дожидаясь, поскольку я думал, что я его проинструктировал , Это происходит только в программах с пусковыми установками. Поскольку я только начинаю, в то время как строки, чтобы изменить или добавить было бы здорово, чтобы это работало, я также хотел бы знать причину изменений.Batch command/wait not waiting

pskill Kodi.exe 

cd /d "I:\Games\Dragon Age Inquisition\" 
start /max /wait Dragon Age Inquisition.exe 

ping 192.168.1.46 -n 1 -w 15000 > nul 

cd /d "C:\Program Files (x86)\Kodi\" 
start /max Kodi.exe 

команды Ps были на другом рекомендуется, не уверен, если это тоже проблема, только кажется странным, что любая программа без пусковой установки работает нормально, но с пусковой установкой только, кажется, не правильно. Спасибо за ваше драгоценное время.

+4

В названии программы запуска находится пробел. Попробуйте: start/max/wait "" "Dragon Age Inquisition.exe". Первый набор кавычек состоит в том, что команда 'start' анализирует первый цитируемый элемент (если он есть) в качестве имени окна. Также имейте в виду, что программа запуска может запустить настоящую программу, а затем выйти, и в этом случае вам может потребоваться другой способ приостановить/приостановить сценарий. –

+0

Спасибо всем за ответы. Я попробовал несколько вариантов предложений, размещенных здесь, и по-прежнему испытываю такую ​​же проблему. Из некоторых исследований и просмотра их большинство программ с пусковыми установками работают как пар в смысле вызова приложения в качестве дочернего процесса по номеру id, а не exe. Я думаю, что для любой из этих программ простой командный файл (который в значительной степени ограничивает мои возможности программирования) не собирается этого делать. Я, вероятно, буду работать над каким-то другим решением. Большое вам спасибо за время и усилия. Возможно, это не исправлено, но я чему-то научился. –

ответ

0

попробуйте:

start "" /max /wait Dragon Age Inquisition.exe 

и

start "" /max Kodi.exe 

Первый аргумент всегда название.

0
Taskkill /im Kodi.exe 
"I:\Games\Dragon Age Inquisition\Dragon Age Inquisition.exe" 
"C:\Program Files (x86)\Kodi\Kodi.exe" 

Должен работать так, как вы ожидаете.

Taskkill - правильная команда. Используйте его с/f для принудительного закрытия.