1

Я запускаю 4 исполняемых файла из пакетного скрипта:

@echo off
start ../../../../LD_Server.exe 12321 23432 11221 3
start LD_Client.exe 12321 pero
start LD_Client.exe 23432 tina
start LD_Client.exe 11221 sanja

Это открывает 4 cmd окна, но после того, как они выполняют свою работу, они все закрываются. Я хочу, чтобы они оставались открытыми, чтобы я мог прочитать вывод. Как?

2 ответа2

2
@echo off
start %COMSPEC% /k ../../../../LD_Server.exe 12321 23432 11221 3
start %COMSPEC% /k LD_Client.exe 12321 pero
start %COMSPEC% /k LD_Client.exe 23432 tina
start %COMSPEC% /k LD_Client.exe 11221 sanja

%COMSPEC% - это переменная среды, которая указывает на интерпретатор команд вашей системы (в Windows NT, C:\Windows\System32\cmd.exe), а ключ /k предотвращает закрытие окна указанной команды после выполнения.

1

из окна cmd.

start dir <- открывает новое окно cmd и сохраняет его открытым. поэтому он по умолчанию запускает cmd /k dir.

start cmd wget (эквивалентный вашему exe-файлу) закрывает его, поэтому, похоже, делает start cmd /c wget.

Запустите cmd /k wget (как и в моем предложении четыре часа назад, которое вы, возможно, не могли прочитать, понять или потрудиться) держите его открытым. Точно так же с вашим exe.

более того, это довольно неубедительный вопрос, потому что, если вы просто гуглили, как остановить закрытие окна cmd, вы бы увидели странные следы cmd /k и cmd /c, а если бы вы сделали cmd /? вы бы их увидели. Это не так, как в Linux, где у вас есть тонны переключателей, и вы должны читать страницы и страницы, чтобы найти то, что вы хотите.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .