检测if-else输出PowerShell

时间:2018-10-25 19:06:14

标签: powershell powershell-v2.0

我试图制作一个PowerShell字符串来编译程序,如果正确编译,我想打开该程序。我要解决的问题是了解当MiniGW编译器和gcc命令(对于C文件)抛出正确结果时,PowerShell如何理解。

知道== TRUE== FALSE在PowerShell中不被接受,我尝试了if,没有任何逻辑运算符

if(gcc '.\FileINeedToCompile.c'){
  Write-Host Correct;
} else {
  Write-Host NotCorrect;
}

但是在正确编译程序以及未编译程序的情况下,我得到NotCorrect的结果。

我还尝试了使用类似逻辑运算符-eq的一些变种

if((gcc '.\FileINeedToCompile.c') -eq $FALSE)

但是我总是得到else语句的结果。

我到处搜索了,我真的不知道如何使它有效。 感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

您可以运行gcc并捕获错误代码以进行处理。我没有使用gcc进行测试,但是我使用小型控制台应用程序进行了测试,并且假设返回码为0即可成功。

gcc '.\FileINeedToCompile.c'
if($LASTEXITCODE -eq 0){
  Write-Host Correct;
} else {
  Write-Host NotCorrect;
}

有关here的更多信息。