小编Jus*_*eat的帖子

如何从PowerShell获取错误代码(ErrorLevel)到Windows命令提示符?

我试图通过Windows命令提示符启动PowerShell命令将文本替换为文件.问题是,即使我的PowerShell命令不起作用,我总是得到ErrorLevel = 0.我的问题是当我启动PowerShell时如何将错误代码导入ErrorLevel cmd?请注意,我想通过Windows命令提示符进行此操作,而不是通过创建脚本部件.

这是我所说的一个例子.打印屏幕中的错误是通过选择一个非现有文件有意识地显示的,即使出现错误,ErrorLevel也等于0.

我使用的命令是下面的(我试过$LastExitCode$ExitCode):

powershell -NonInteractive -NoProfile -Command "(Get-Content HvsvmAppserver.ref) -replace '-Dfr.base0.role=', '-Dfr.base0.role=USR_ROLE'| Set-Content -encoding ASCII HvsJvmAppserver.ref; exit $LastExitCode"
Run Code Online (Sandbox Code Playgroud)

但我也尝试过同样的:

powershell -NonInteractive -NoProfile -Command "(Get-Content HvsvmAppserver.ref) -replace '-Dfr.base0.role=', '-Dfr.base0.role=USR_ROLE'| Set-Content -encoding ASCII HvsJvmAppserver.ref; exit $ExitCode"
Run Code Online (Sandbox Code Playgroud)

根据majkinetor的评论,我尝试了以下内容并且也没有工作:(即使在PowerShell中发生错误,我仍然在Dos中获得ErrorLevel 0.

powershell -noprofile -command " try { (Get-Content HvsvmAppserver.ref) -replace '-Dfr.base0.role=', '-Dfr.base0.role=USR_ROLE'| Set-Content -encoding ASCII HvsJvmAppserver.ref } catch {exit $LastExitCode}"
Run Code Online (Sandbox Code Playgroud)

您可以清楚地看到与文件名不存在的错误,但错误级别始终为0.

我想要的是为执行PowerShell命令时发生的每个错误获取除0之外的错误代码.

根据我读到的一些评论,我想说:我想通过PowerShell和Dos命令来实现,而不是采用不同的方式.我不想制作自己的错误代码或个性化的错误管理!我想要的是当我的powershell(代码,脚本等)发生错误时,Dos的错误级别得到这个错误代码(我不想自己编写代码).有答案的人会受到欢迎并感谢他们,但是这些人只是通过要求改变我想要的东西或者删除照片等来评论无益评论...请不要发表评论,除了提供一个帮助和回答我的问题不是通过提出别的东西,我要求帮助一些特定的东西,请不要将主题改为别的东西..这个网站的想法是提供帮助,而不是添加无用的和无益的评论.

错误2

windows powershell cmd errorlevel

8
推荐指数
1
解决办法
9341
查看次数

标签 统计

cmd ×1

errorlevel ×1

powershell ×1

windows ×1