請注意以下命令之間的性能差異。有人知道為什么嗎?只是好奇。
PS> gci -r *.txt # this is slower
PS> gci -r -filter *.txt # this is faster
uj5u.com熱心網友回復:
這記錄在引數下-filter。
——
Filter指定篩選器以限定 Path 引數。該檔案系統提供者是只安裝PowerShell提供支持的過濾器。過濾器比其他引數更有效。提供程式在 cmdlet 獲取物件時應用過濾器,而不是在檢索物件后讓 PowerShell 過濾這些物件。過濾器字串被傳遞到 .NET API 以列舉檔案。API 僅支持 * 和 ? 通配符。
uj5u.com熱心網友回復:
當您在破折號 (-{tab}) 后使用制表符完成時,建議的第一個引數是-Path您的模式被傳遞到的位置。
所以兩個命令是不等價的。其差值應該在同間-Include和-Filter。過濾器總是更快,因為它利用檔案系統提供程式,而不是僅在檢索檔案后進行過濾。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/338528.html
