Закрытие пакетного файла

Я написал пакетный файл, в котором в фоновом режиме работают 3 файла .bat. У меня есть еще один пакетный файл, в котором есть 3 файла .bat, который используется для остановки тех файлов .bat, которые запускались в первом пакетном файле. Все это работает нормально, но после остановки этих файлов .bat окно команд первого пакетного файла не закрывается. Я дал «выход» обоим командным файлам, которые я написал. Пожалуйста, помогите мне в этом.


person Community    schedule 13.03.2009    source источник
comment
Можете ли вы опубликовать фактические пакетные файлы? Или что-то эквивалентное.   -  person aphoria    schedule 15.03.2009
comment
вы делали вещи, связанные с XAMPP... потому что у меня такая же проблема с пакетными файлами XAMPP.   -  person Rohit Banga    schedule 10.01.2013


Ответы (4)


Вы можете попробовать запустить другие пакетные файлы с помощью

CMD /C

в качестве альтернативы, когда они должны быть закрыты, вы можете попробовать закрыть их по имени непосредственно из другого командного файла:

taskkill /F /IM batchname.bat
person John T    schedule 25.05.2009
comment
Да, я думаю, что taskkill, использующий имя окна, был бы хорошим способом обойти эту проблему, если это действительно проблема. Однако трудно узнать какой-либо другой способ сделать это, не видя его кода... - person djangofan; 10.09.2012

Ты используешь

call batchfile.bat

запускать пакетные файлы? Если нет, поток будет неожиданным.

person schnaader    schedule 13.03.2009
comment
я использую start /b пакетный файл.bat - person ; 13.03.2009
comment
Даже при тестировании с 4 простыми командными файлами это приводит к странным ошибкам. Я думаю, что вам не следует так вызывать пакетные файлы, это, похоже, сбивает с толку cmd. - person schnaader; 13.03.2009

если бы вы могли преобразовать его в .exe с помощью Bat-To-Exe-Converter, вы могли бы использовать:

tskill [program]

Например, если вы хотите закрыть пакетный файл, который преобразуется под названием «helloworld.exe»:

tskill helloworld

Что вы также можете использовать, это:

tskill cmd

И так несколько раз. Он закроет 1 командную строку/раз.

person Deniz Zoeteman    schedule 25.05.2009

Я делаю отложенное закрытие с некоторыми из моих пакетных сценариев следующим образом:

FOR /l %%a in (30,-1,1) do (TITLE %TITLE% -- Closing in %%as&ping -n 2 -w 1 127.0.0.1>NUL)
EXIT /B 0
person djangofan    schedule 02.11.2011