Chỉ trong trường hợp một số thấy hữu ích. Đây là một chức năng theo tinh thần của câu trả lời của David Brabant với một kiểm tra cho số phiên bản tối thiểu.
Function Ensure-ExecutableExists
{
Param
(
[Parameter(Mandatory = $True)]
[string]
$Executable,
[string]
$MinimumVersion = ""
)
$CurrentVersion = (Get-Command -Name $Executable -ErrorAction Stop).Version
If($MinimumVersion)
{
$RequiredVersion = [version]$MinimumVersion
If($CurrentVersion -lt $RequiredVersion)
{
Throw "$($Executable) version $($CurrentVersion) does not meet requirements"
}
}
}
này cho phép bạn làm như sau:
Ensure-ExecutableExists -Executable pscp -MinimumVersion "0.62.0.0"
Nó làm gì nếu yêu cầu được đáp ứng hay ném một lỗi nó không phải là.
Cảm ơn David. Làm thế nào tôi có thể làm điều này một cách duyên dáng, làm im lặng lỗi lớn màu đỏ? –
Vì không ai nói, "-ErrorAction SilentlyContinue" thêm vào sẽ giết chết lỗi lớn màu đỏ. –
Tôi đã sử dụng 'where.exe' và kiểm tra mã thoát, nhưng đó không phải là lệnh PS. – orad