簡體   English   中英

什么?{}在PowerShell中意味着什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM