检测 if-else 输出 PowerShell

Detect if-else output PowerShell

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

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

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

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

我也尝试过使用逻辑运算符 -eq 的一些变体,例如

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

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

我到处搜索,但我真的不知道如何让它工作。 感谢您的帮助。

您可以运行 gcc 并捕获错误代码进行处理。我没有用 gcc 进行测试,但我确实用一个小型控制台应用程序进行了测试,并且假设 return 代码 0 成功。

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

可以找到更多关于此的信息 here