Все, что я пытаюсь сделать здесь, это определить, установлена ли эта специфицированная c версия java. Программа должна либо только возвращать «Java установлен», либо возвращать ненулевую ошибку выхода с «Java не установлен».
function Check_Java_Installed {
$app = java -version | Out-String
if ($app -contains "1.8.0_141"){
Write-Output "Java installed"
}
else{
Write-Error -Message "Java not installed"
}
}
Check_Java_Installed
Вывод (Powershell ISE):
java : java version "1.8.0_141"
At C:\temporary\Installers\java-checker.ps1:3 char:12
+ $app = (java -version) | Out-String
+ ~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (java version "1.8.0_141":String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
Java(TM) SE Runtime Environment (build 1.8.0_141-b15
)
Java HotSpot(TM) 64-Bit Server VM (build 25.141-b15, mixed mode)
Check_Java_Installed : Java not installed
At C:\temporary\Installers\java-checker.ps1:13 char:2
+ Check_Java_Installed
+ ~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Check_Java_Installed
Выход (Powershell):