Мне нравится иметь окончательный PAUSE
в моих *.bat-сценариях, поэтому я могу просто дважды щелкнуть по ним в проводнике Windows и получить возможность прочитать результат. Однако окончательная ПАУЗА является досадой, когда я запускаю тот же script из командной строки.
Есть ли способ определить, запускаем ли мы script из командной строки (или нет) и соответственно вставляем PAUSE (или нет)?
(Целевая среда - Windows XP и выше.)
Update
Мне удалось составить это из ответа Андерса:
(((echo.%cmdcmdline%)|find /I "%~0")>nul)
if %errorlevel% equ 0 (
set GUI=1
) else (
set CLI=1
)
Затем я могу сделать следующее:
if defined GUI pause