[英]What does ?{} mean in PowerShell?
PowerShell中的?{ }
塊是什么意思?
例如
[enum]::GetValues([io.fileoptions]) | ?{$_.value__ -band 0x90000000}
?
是Where-Object
的別名。 如果您必須對實際對象執行更復雜的操作,則使用大括號。 你也可以這樣寫:
[enum]::GetValues([io.fileoptions]) | Where-Object { $_.value__ -band 0x90000000}
懷疑使用Get-Alias
cmdlet :
描述
Get-Alias
cmdlet在當前會話中獲取別名(命令和可執行文件的備用名稱)。 這包括內置別名,已設置或導入的別名以及已添加到Windows PowerShell配置文件的別名。默認情況下,
Get-Alias
采用別名並返回命令名稱。 使用Definition
參數時,Get-Alias
接受命令名稱並返回其別名。從Windows PowerShell 3.0開始,
Get-Alias
以“<alias> -> <definition>
”格式顯示非連字別名,以便更容易找到所需的信息。
PS D:\PShell> Get-Alias ?
CommandType Name ModuleName
----------- ---- ----------
Alias % -> ForEach-Object
Alias ? -> Where-Object
Alias h -> Get-History
Alias r -> Invoke-History
? 是Where-Object cmdlet的別名,但它還有另一個別名 - where。
{}大括號用於腳本塊,在這種情況下它是一個過濾器腳本塊,它主要用於復雜過濾,即多個critera,如下所示:
Get-Service | Where-Object -FilterScript {$_.Name -like '*audio*' -and $_.Status -eq 'Running'}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.