DevOps Powershell步骤成功调用bat文件,但返回1
我正在从yaml文件中的一个步骤调用bat文件。bat位于生成代理所在的PC上本地。DevOps Powershell步骤成功调用bat文件,但返回1,powershell,batch-file,yaml,devops,Powershell,Batch File,Yaml,Devops,我正在从yaml文件中的一个步骤调用bat文件。bat位于生成代理所在的PC上本地。 蝙蝠成功呼叫。它更改PATH变量,然后运行程序。程序运行成功,但在完成生成步骤后仍标记为不成功,因为 [错误]PowerShell已退出,代码为“1” 作为我为什么使用bat文件而不是ps1的背景信息:我正在迁移我们当前的构建,它运行在一个中心bat文件上。我不想改变它 是否有一个环境变量可以更改或执行任何其他操作以确保powershell返回0而不是1 您是否考虑过更改批处理文件退出代码 批处理文件的退出代码
蝙蝠成功呼叫。它更改PATH变量,然后运行程序。程序运行成功,但在完成生成步骤后仍标记为不成功,因为 [错误]PowerShell已退出,代码为“1” 作为我为什么使用bat文件而不是ps1的背景信息:我正在迁移我们当前的构建,它运行在一个中心bat文件上。我不想改变它
是否有一个环境变量可以更改或执行任何其他操作以确保powershell返回0而不是1 您是否考虑过更改批处理文件退出代码 批处理文件的退出代码 使用批处理文件末尾的EXIT/B%ERRORLEVEL%命令 从批处理文件返回错误代码
- 批处理文件结束时的“退出”将停止批处理文件的执行
- 在批处理文件的末尾使用EXIT/B
返回自定义返回代码 - 环境变量%ERRORLEVEL%包含批处理文件中的最新ERRORLEVEL,它是上次执行的命令中的最新错误代码。要了解环境变量,请参阅下面的注释
md "C:manageengine"
copy "\\sharename\foldername\samplefile.txt" "C:\manageengine"
exit /b %ERRORLEVEL%
编辑:有关该问题的更多想法-批处理文件可能返回1作为退出代码,因为其中使用的某个命令或程序返回了某种错误代码(或至少没有返回0退出代码)。
总而言之,你的问题不是很清楚,主要是因为你没有把所有的因素和变量与你的问题分开,因此不知道问题在哪里。
强制更改退出代码不是解决问题的正确方法 您在问题中提到了四个主要组件,一个
.yaml
文件、一个.bat
文件、一个.ps1
文件和一条返回的错误消息,这些消息来自其中一个未指定的组件。您的问题不清楚,因为您提供的信息不到我们需要帮助您解决问题的25%。事实上,25%的信息似乎足够了,因为我得到了帮助。仅仅因为您在这一场合运气好,并不意味着您就可以不遵守网站上提供的帮助和指导原则。我还回滚了您的编辑,因为问题区域不是您应该在收到接受的回复后重复该回复或提供更新的地方。请在接受答案下或自己添加答案。请避免发布仅链接的答案。如果引用的页面消失,它们将变得毫无用处(是的,这种情况发生的频率比您预期的要高)。如果您引用的是外部来源,请在您的答案中包含该引用的要点。