我想學習powershell版本并相應地撰寫條件,但我不能如我所愿。
"(Get-Host).Version | Select-Object major"
輸出:
Major
-----
5
當我使用該命令時,我猜它不起作用,因為它顯示為主要下的值。我怎樣才能獲得價值?
我試過這樣的事情,所以我可以把它作為真或假,但它沒有用。它總是回傳 false
if ( "(Get-Host).Version | Select-Object major" -eq "5" )
{
echo "True"
}
else
{
echo "False"
}
輸出:
false
uj5u.com熱心網友回復:
只需更換
這
if ( "(Get-Host).Version | Select-Object major" -eq "5" )
{
echo "True"
}
else
{
echo "False"
}
有了這個:
if ( ((Get-Host).Version).Major -eq "5" )
{
echo "True"
}
else
{
echo "False"
}
注: Get-Host只是PS主機版本。它可能不是 PS 引擎版本。引擎版本來自$PSVersionTable.PSVersion. 所以,我對你的建議是使用$PSVersionTable.PSVersion.Major而不是(((Get-Host).Version).Major)
uj5u.com熱心網友回復:
System.Version型別的物件就像任何其他物件一樣,它的屬性可以通過.PropertyName
獲取物件屬性值的最常見方法是使用點方法。鍵入對物件的參考,例如包含物件的變數或獲取物件的命令。然后,鍵入一個點 (.),后跟屬性名稱。
來自about_Properties
PS /> $ver = [version]'1.0.1'
PS /> $ver
Major Minor Build Revision
----- ----- ----- --------
1 0 1 -1
PS /> $ver.Major -eq 1
True
PS /> $ver | Get-Member -MemberType Property
TypeName: System.Version
Name MemberType Definition
---- ---------- ----------
Build Property int Build {get;}
Major Property int Major {get;}
MajorRevision Property short MajorRevision {get;}
Minor Property int Minor {get;}
MinorRevision Property short MinorRevision {get;}
Revision Property int Revision {get;}
條件是:
if((Get-Host).Version.Major -eq 5)
{
'True'
}
else
{
'False'
}
uj5u.com熱心網友回復:
版本已經在$PSVersionTable變數中。
PS C:\> $PSVersionTable.PSVersion
Major Minor Patch PreReleaseLabel BuildLabel
----- ----- ----- --------------- ----------
7 2 0
PS C:\> $PSVersionTable.PSVersion.Major
7
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/379954.html
標籤:电源外壳
上一篇:有沒有辦法在PowerShell中用一個回圈更改多行
下一篇:無法將“System.Char[,]”型別的“System.Char[,]”值轉換為“System.Char”型別
