[英]Powershell: how to pass filter value to gci
我在一個文件夾中有匹配M *,S *的文件:
PS E:\Uploader> dir M*,S*
Directory: E:\Uploader
Mode LastWriteTime Length Name
---- ------------- ------ ----
----- 6/05/2013 10:43 AM 5046659 M_1813O.zip
-a--- 26/04/2013 4:51 PM 233 SurveyUploader.config
-a--- 8/05/2013 5:15 PM 11788 SurveyUploader.log
-a--- 8/05/2013 5:15 PM 6078 SurveyUploader.ps1
----- 6/05/2013 10:43 AM 3473113 S_1813O.zip
我只是想將此過濾器傳遞給變量中的gci,但是它不起作用:
PS E:\Uploader> $k="M*,S*"
PS E:\Uploader> gci *.* -include $k | where {!$_.PsIsContainer}
PS E:\Uploader> gci *.* -include @($k) | where {!$_.PsIsContainer}
<<no files returned!>>
如果我不將過濾器保存在變量中,則可以正常工作:
PS E:\Uploader> gci *.* -include S*,M* | where {!$_.PsIsContainer}
Directory: E:\temp\SurveyLoadingAutomation\Uploader
Mode LastWriteTime Length Name
---- ------------- ------ ----
----- 6/05/2013 10:43 AM 5046659 M_1813O.zip
-a--- 26/04/2013 4:51 PM 233 SurveyUploader.config
-a--- 8/05/2013 5:15 PM 11788 SurveyUploader.log
-a--- 8/05/2013 5:15 PM 6078 SurveyUploader.ps1
----- 6/05/2013 10:43 AM 3473113 S_1813O.zip
但是我需要在腳本的變量中傳遞過濾器。
任何想法?
嘗試這樣:
$k= @("M*","S*")
-include
參數接受[string[]]
( string
類型的數組)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.