Использование «SET» для получения результата выражения - PullRequest
0 голосов
/ 27 июня 2019

Я запускаю тестовый сценарий Selenium через командную строку, которая должна возвращать код выхода «0» или «1» в зависимости от успеха / неудачи теста.

Однако я не могуиспользуйте команду SET, чтобы установить это возвращаемое значение и назначить его переменной.

Когда я запускаю

Run.bat -project_location "%ProjectLocation%" %RUN_PROP% -latest_exe_status

в командной строке, я получаю 0 - что ожидается.

Однако когда я запускаю

SET STATUS=Run.bat -project_location "%ProjectLocation%" %RUN_PROP% -latest_exe_status
echo %STATUS%

, я получаю - Run.bat -project_location "% ProjectLocation%"% RUN_PROP% -latest_exe_status

я почти уверен, что мне не хватаетчто-то очень тривиальное, но я не мог понять, чего мне не хватает!Это сводит меня с ума.

Ответы [ 2 ]

0 голосов
/ 28 июня 2019

% ERRORLEVEL% после запуска Run.bat всегда равно 0, так что мне это не помогло.

Тем не менее,

SET "STATUS=RRun.bat -project_location "%ProjectLocation%" %RUN_PROP% -latest_exe_status"
FOR /F "tokens=* USEBACKQ" %%F IN (`%STATUS%`) DO (SET result=%%F)
echo %result%
0 голосов
/ 27 июня 2019

Просто установите переменную STATUS из кода выхода.

Run.bat -project_location "%ProjectLocation%" %RUN_PROP% -latest_exe_status
SET "STATUS=%ERRORLEVEL%"

ECHO The STATUS is %STATUS%
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...