在我获得downvote之前,我检查了现有的链接,例如:jenkins return code但是无法重现修复。我主要有两个问题:
首先: 所以我的脚本是:
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"
)
无论是否启用/禁用setlocal命令,输出始终为“1”。 我能看到的唯一环境变化是引入了另一个通过jenkins slave连接的UWP表面(HOSTNAME)。
我希望在每次循环运行中更新状态。
第二 应该获得任务计划的完整状态的命令仅给出第一行作为输出: 命令:
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: \
只有当命令通过jenkins中的批处理文件(run.bat)运行时才能重现。如果我在jenkins作业的批处理部分中展开此命令,这可以正常工作。对此有任何公开的错误吗?