我试图制作一个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
语句的结果。
我到处搜索了,我真的不知道如何使它有效。 感谢您的帮助。
答案 0 :(得分:3)
您可以运行gcc并捕获错误代码以进行处理。我没有使用gcc进行测试,但是我使用小型控制台应用程序进行了测试,并且假设返回码为0即可成功。
gcc '.\FileINeedToCompile.c'
if($LASTEXITCODE -eq 0){
Write-Host Correct;
} else {
Write-Host NotCorrect;
}
有关here的更多信息。