yürütülebilir eğer. Bu yüzden ben bunu yapmak istiyorum (pseudocode) Powershell testi senaryom ise yoluna
if (pandoc in the path)
{
pandoc -Ss readme.txt -o readme.html
}
Bunu nasıl gerçek yapabilirim?
yürütülebilir eğer. Bu yüzden ben bunu yapmak istiyorum (pseudocode) Powershell testi senaryom ise yoluna
if (pandoc in the path)
{
pandoc -Ss readme.txt -o readme.html
}
Bunu nasıl gerçek yapabilirim?
Eğer örnek bir hata mesajı göstermek veya yürütülebilir (Nuget düşünün) indirmek için, senin yolunda bir komuta olmayan varlığını test etmek isterseniz Sen Get-Command (gcm)
if (Get-Command "pandoc.exe" -ErrorAction SilentlyContinue)
{
pandoc -Ss readme.txt -o readme.html
}
aracılığıyla test edebilirsiniz:
if ((Get-Command "pandoc.exe" -ErrorAction SilentlyContinue) -eq $null)
{
Write-Host "Unable to find pandoc.exe in your PATH"
}
inf almak için bir PowerShell oturumunda
(Get-Help gcm).description
deneyin Get-Command hakkında ormation.
Bazıları bunu faydalı buluyorsa. İşte David Brabant'ın cevabındaki bir işlev, minimum sürüm sayıları için bir kontrolle.
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"
}
}
}
Bu aşağıdakileri yapmanızı sağlar:
Ensure-ExecutableExists -Executable pscp -MinimumVersion "0.62.0.0"
Bu şart yerine getirilmeden ise hiçbir şey yapmaz veya bir hata atar öyle değil.
Teşekkürler David. Bunu büyük kırmızı hatayı susturmak için nasıl incelerim? –
Hiç kimsenin dediği gibi, "-ErrorAction SilentlyContinue" eklendiğinde büyük kırmızı hatası giderildi. –
'where.exe'yi kullandım ve çıkış kodunu kontrol ettim, ancak bu bir PS komutu değildi. – orad