Почему, когда файл .bat проверяет% ERRORLEVEL% после запуска приложения .NET, он проверяет тип возвращаемой строки, а не int? - PullRequest
0 голосов
/ 18 февраля 2011

Я смотрел, как запустить приложение .NET из командной строки или в файле bat, и этот код был дан для тестирования% ERRORLEVEL% (выходное возвращаемое значение) приложения:

@if "%ERRORLEVEL%" == "0" goto success

Почему тестируется «0», а не 0? Насколько я понимаю, исполняемый файл .NET возвращает int при выходе, а не строку.

1 Ответ

3 голосов
/ 18 февраля 2011

Это просто приведение числового значения к строке и сравнение.Это может быть полезно, если переменная среды не имеет значения, поэтому% PARAM% == 1 будет иметь значение == 1, что приведет к ошибке.

Для проверки ERRORLEVEL программы лучше оценивать согласно Блог Раймонда Чена .

IF ERRORLEVEL 1 ECHO error level is 1 or more
...