[英]Powershell test 2 statements if true functions
Clear-Host
Function First {
$File1 = "C:\Program Files\WinRAR\WinRAR.exe"
$TestFile1 = Test-Path $File1
If ($TestFile1 -eq $True) {Write-Host "Winrar is installed." -F Green -B Black}
Else {Write-Host "Winrar is not installed." -F Red -B Black}
}
First
Function Second {
$winrar = Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*
$winrarCheck = "Winrar"
$winrarFinal = $winrar | Where {$_.DisplayName -match $winrarCheck} | Format-Table -Property DisplayName,DisplayVersion
$winrarFinal
If ($winrarFinal) {Write-Host "Winrar registry check installed." -F Green -B Black}
Else {Write-Host "Winrar registry check failed." -F Red -B Black}
}
Second
是否可以使用If語句檢查兩個函數? 我想檢查一下這兩個功能是否都正確, Write-Host "Program installed." Else Write-Host "Failed to install".
Write-Host "Program installed." Else Write-Host "Failed to install".
開始了:
Function CheckFileInstalled {
param (
[string]$pathProg = "C:\Program Files\WinRAR\WinRAR.exe",
[string]$nameProg = "Winrar"
)
$testFileProg = Test-Path $pathProg
$x86 = ((Get-ChildItem "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall") |
Where-Object { $_.GetValue( "DisplayName" ) -like "*$nameProg*" } ).Length -gt 0;
$x64 = ((Get-ChildItem "HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall") |
Where-Object { $_.GetValue( "DisplayName" ) -like "*$nameProg*" } ).Length -gt 0;
return ( $testFileProg -and ($x86 -or $x64) )
}
if( CheckFileInstalled ) {
Write-Host "Program installed."
}
else {
Write-Host "Failed to install."
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.