Powershell:get-childitem不适用于过滤器

vik*_*ata 2 powershell filter get-childitem

我在d下有3个ps1文件:

-a---         6/19/2015   2:52 PM        104 Untitled1.ps1                                                                                                                       
-a---         6/19/2015   2:56 PM        204 Untitled2.ps1                                                                                                                       
-a---         6/16/2015   1:17 PM       3073 Untitled3.ps1  
Run Code Online (Sandbox Code Playgroud)

我可以使用get-childitem检索它们:

get-childitem d:\
Run Code Online (Sandbox Code Playgroud)

但这失败了:

 get-childitem d:\ -Force -Include *.ps1
Run Code Online (Sandbox Code Playgroud)

此命令不显示任何内容。为什么?我只想过滤掉.ps1文件。我的命令有什么问题吗?

Mar*_*ndl 5

仅当命令包含Recurse参数或路径指向目录的内容(例如C:\ Windows *,其中通配符指定C:\ Windows目录的内容)时, Include参数有效。

来源:https : //technet.microsoft.com/en-us/library/hh849800.aspx

您可以改用-Filter参数:

Get-ChildItem -Path 'd:\' -Filter '*.ps1'
Run Code Online (Sandbox Code Playgroud)

或者,如果您需要过滤多个扩展名,请使用通配符:

Get-ChildItem -Path 'd:\*' -Include '*.ps1', '*.bat'
Run Code Online (Sandbox Code Playgroud)