2015-07-25 3 views
0

Так что я знаю, что это довольно простой материал, но я пытаюсь создать командный файл, который откроет некоторые программы, а затем закроет все, когда закончится. Проблема в том, что одна из программ имеет пространство в названии, и я бы предпочел не переименовывать ее.закрытие программы с пробелом в имени

Пример:

@echo off 
start /IM Example Program.exe 
pause 
taskkill /F /IM Example Program.exe 
end 

Я знаю, что я мог бы просто изменить название программы Example_Program, но я предпочел бы не так. Есть какой-либо способ сделать это?

Как редактировать я попытался:

@echo off 
start /IM "Example Program.exe" 
pause 
taskkill /F /IM "Example Program.exe" 
end 

Когда я ставлю скобки вокруг имени файла, открывает командную строку, как если бы я право нажал на нее и нажал открыть окно командной строки здесь или что-то вроде что.

+0

Не работает ли это так? с пространством? если нет, '% 20' представляет пробел. –

+0

Вы пытались окружить имя кавычками? – JohnnyFun

+0

[Dupe] (http://stackoverflow.com/questions/7347501/how-write-full-path-in-batch-file-having-folder-name-with-space); просто добавьте цитаты. – dramzy

ответ

0
@echo off 
start "" /IM "Example Program.exe" 
pause 
taskkill /F /IM "Example Program.exe" 
end 

??

+0

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

+0

. Предположим, что первым набором найденных кавычек является заголовок окна. Вам нужен другой набор перед/IM. – SomethingDark

0

Используйте следующие пакетный код:

@echo off 
start "Any title" /IM "Example Program.exe" 
pause 
%SystemRoot%\System32\taskkill.exe /F /IM "Example Program.exe" 

Команда начать интерпретирует первую строку в двойных кавычках как необязательный заголовок. Поэтому необходимо явно определить заголовок для командного окна, которое может быть также пустым заголовком, то есть просто "".

Смежные вопросы