Как закрыть окно cmd командного файла после того, как оно выполнит свою работу? - PullRequest
0 голосов
/ 06 января 2020

Извините, что повторяю пост, но я пробовал большинство решений, которые я видел здесь, и ни одно из них не сработало. В настоящее время я использую VS Code с помощью командного файла, который перемещается в каталог, из которого мне нравится работать, и затем запускает команду для его запуска. Исходный файл выглядел так:

@echo off
d:
cd c++
code .
pause

Как только VS Code запускается, приглашение cmd задерживается. Сначала я предположил, что я использовал pause, поэтому я поменял его на exit. Нет кости. Поэтому я пришел сюда, увидел, что кто-то предложил добавить start к строке code .. Тем не менее, ничего не сработало. В этот момент я увидел еще один пост, в котором говорилось, что он может «застрять», поэтому я решил бросить echo в каждой точке, чтобы посмотреть, так ли это, задаваясь вопросом, где это остановится. На данный момент файл выглядит следующим образом:

@echo on
d:
echo hello1
cd c++
echo hello2
start code .
echo hello3
exit

Мало того, что это все еще не закрывает терминал cmd, но и вообще ничего не отражает? Я уверен, что это что-то маленькое, но я слишком новичок в этом, чтобы видеть. Спасибо за вашу помощь.

Ответы [ 2 ]

0 голосов
/ 06 января 2020

Вы можете использовать команду taskkill , чтобы закрыть окно команд. Первым параметром команды start является заголовок создаваемого окна. Вы можете указать уникальную строку и вызвать taskkill с параметром /FI.

start "vs_run_unique_title" code "d:\some_code_path"
taskkill /FI "WindowTitle eq vs_run_unique_title" /F /T
0 голосов
/ 06 января 2020

Используйте команду start:

@echo off
...
start "" code .

Ваш синтаксис start неверен. Первый параметр указывает заголовок. Итак, вы запускаете cmd с заголовком «code»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...