Прежде, чем я получил отрицательное голосование, я проверил существующие ссылки, такие как: код возврата jenkins Но не смог воспроизвести исправление.У меня есть в основном две проблемы:
Первый: Итак, мой сценарий:
setlocal ENABLEDELAYEDEXPANSION
REM Installing the application
"%PSTOOLLOCATION%\PsExec.exe" \\%HOSTNAME% cmd /c schtasks /run /TN %SCHEDULEDINSTALLERTASKNAME%
REM Waiting for installation to complete
:loop
%PSTOOLLOCATION%\PsExec.exe \\%HOSTNAME% cmd /c schtasks /Query /tn %SCHEDULEDINSTALLERTASKNAME% /fo table /nh | find "Ready"
echo !ERRORLEVEL!
echo %ERRORLEVEL%
echo ERRORLEVEL
IF !ERRORLEVEL!==1 (
echo "Installation in progress"
goto :loop
) ELSE (
echo "Installation complete"
)
Выходные данные всегда равны "1", независимо от того, активирую я или отключу команду setlocal,Единственное изменение в окружающей среде, которое я мог видеть, - это введение другой поверхности UWP (HOSTNAME), которая подключена через подчиненное устройство jenkins.
Я хочу обновлять статус при каждом запуске цикла.
Секунда: Команда, которая должна получить полный статус расписания задачи, выдает только первую строку в качестве вывода: Команда:
cmd /c "%PSTOOLLOCATION%\PsExec.exe \\%HOSTNAME% cmd /c schtasks /query /tn %SCHEDULEDINSTALLERTASKNAME% /fo list" > status.txt
Ожидаемый результат:
Folder: \
HostName: CTSURFACE1
TaskName: \TASKNAME
Next Run Time: N/A
Status: Ready
Logon Mode: Interactive/Background
Вывод получен:
Folder: \
Воспроизводится только тогда, когда команда запускается через пакетный файл (run.bat) в jenkins.Если я разверну эту команду в пакетном разделе задания Дженкинса, это будет нормально работать.Любая открытая ошибка для этого?