Я предложил в вопросе StackOverflow способ запустить пакетный файл в фоновом режиме ( окна DOS не отображаются )
Это должно ответить на ваш вопрос.
Вот оно:
Из вашего первого сценария вызовите второй сценарий со следующей строкой:
wscript.exe invis.vbs run.bat %*
На самом деле вы вызываете скрипт vbs с:
- [путь] \ имя вашего скрипта
- все остальные аргументы, необходимые вашему скрипту (
%*
)
Затем invis.vbs вызовет ваш сценарий с помощью метода Windows Script Host Run () , который принимает:
- intWindowStyle: 0 означает «невидимые окна»
- bWaitOnReturn: false означает, что вашему первому сценарию не нужно ждать завершения второго сценария
См. Вопрос для полного сценария invis.vbs:
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """" & WScript.Arguments(0) & """" & sargs, 0, False
^
means "invisible window" ---|
Обновление после отзыва Таммена:
Если вы находитесь в сеансе DOS и хотите запустить другой скрипт «в фоновом режиме», простого /b
(как описано в том же вышеупомянутом вопросе ) может быть достаточно:
Вы можете использовать start /b second.bat
для асинхронного запуска второго пакетного файла из вашего первого, который разделяет окно вашего первого.