Как прекратить только внутреннее пакетное задание
Допустим, есть некоторый файл.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
,