Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
DevOps Powershell步骤成功调用bat文件,但返回1_Powershell_Batch File_Yaml_Devops - Fatal编程技术网

DevOps Powershell步骤成功调用bat文件,但返回1

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 您是否考虑过更改批处理文件退出代码 批处理文件的退出代码

我正在从yaml文件中的一个步骤调用bat文件。bat位于生成代理所在的PC上本地。
蝙蝠成功呼叫。它更改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%的信息似乎足够了,因为我得到了帮助。仅仅因为您在这一场合运气好,并不意味着您就可以不遵守网站上提供的帮助和指导原则。我还回滚了您的编辑,因为问题区域不是您应该在收到接受的回复后重复该回复或提供更新的地方。请在接受答案下或自己添加答案。请避免发布仅链接的答案。如果引用的页面消失,它们将变得毫无用处(是的,这种情况发生的频率比您预期的要高)。如果您引用的是外部来源,请在您的答案中包含该引用的要点。