Как из cmd запустить новый экземпляр cmd и выполнить команду внутри него?

Как из cmd запустить новый экземпляр cmd и выполнить команду внутри него?

Мне нужно запустить две команды, которые никогда не завершаются. Обычно я делаю так:

  • запустите cmdтерминал и введите первую команду
  • запустите другой cmdтерминал и введите вторую команду

Затем я запускаю два процесса параллельно.

Теперь я хотел бы автоматизировать это, имея один файл "startup", который запускал бы два терминала выше. Он может быть cmdна основе PowerShell.

Примечание 1:Я пробовал использовать cmdс /kили, /cно это не создает новый терминал. Попытка сделать что-то вроде cmd /c cmdзакончилась Internal Errorвыводом в оболочке.

Заметка 2:PowerShell имеетФоновые вакансии. Проблема в том, что мне нужно иметь две отдельные оболочки, в которых я могу отслеживать вывод (и в конечном итоге закрыть запущенный процесс с помощью Ctrl-C.

Есть ли способ сделать это в одном файле?

решение1

Создайте пакетный файл:

start cmd.exe /c <first command>
start cmd.exe /c <second command>

Запустите пакетный файл, он откроет два окна cmd и завершит работу пакетного файла.

решение2

Я думаю, что «start cmd /c dir» — это то, что вы ищете.
Редактировать: Ну, /k для краткости, например, dir, но «start» — это то волшебное слово, которое вам нужно.

решение3

выделенный текстЦитата Рена: «Я думаю, что «start cmd /c dir» — это то, что вы ищете».

Я лично думаю, что «start cmd /c dir /s» было бы даже лучше.

Связанный контент