Как прекратить только внутреннее пакетное задание

Допустим, есть некоторый файл.bat, который требуется для запуска внутри пакетного скрипта.cmd. Этот внутренний файл.bat имеет ряд пользовательских взаимодействий на локальном хосте и может быть завершен только с помощью ctrl+c.

Вопрос в следующем: есть ли способ возобновить выполнение внешнего пакетного сценария после завершения внутреннего сценария? Или Ctrl + C конец все будет все?

Я попытался дать внутреннему сценарию другой выход, но мне сказали, что я не могу изменять этот файл. Я также провел значительное количество исследований и не нашел решения. Прости меня, если я что-то упустил! Я хотел бы избежать появления двух окон или посторонних оконечных сообщений.

1 ответ

Решение

Единственный способ справиться с этим - использовать следующую строку в outer.cmd звонить inner.bat - с недостатком получения нового окна командной строки для выполнения inner.bat:

start "" /WAIT cmd /C "inner.bat"

(Обменявшись start а также cmd не работает, так как новое окно может случайно остаться открытым.)

Обратите внимание, что для inner.batвсе ввод и вывод консоли обрабатываются в новом окне, поэтому любые перенаправления для outer.cmd (например, outer.cmd > "return.txt") не будет включать данные из inner.bat,

Другие вопросы по тегам