Powershell get-childitem将目录排除在几个级别之外

时间:2014-08-25 19:41:34

标签: powershell

我有一个包含已更改文件的文件夹,可以部署到另一台服务器。我正在构建一个根目录下的文件列表,递归,我想跳过整个文件夹。这不起作用:

gci -path \\myfolder -recurse -exclude "*\excludeme\*" | where{! $_PSIsContainer}

它正在进行并列出了excludeme中的所有文件。即使这样也没有用:

gci -path \\myfolder -recurse -exclude "\\myfolder\excludeme\*" | where etc.

我应该注意到" excludeme"是一个包含许多软件项目文件夹的文件夹,即本身就是一堆乱七八糟的子文件夹。救命啊!

1 个答案:

答案 0 :(得分:3)

如果您只需输入文件夹的名称,您应该可以使用-Exclude:

GCI \\MyFolder -Recurse -Exclude "ExcludeMe"

话虽如此,如果它不适合你(并且它不会让我感到惊讶,因为文件系统提供商过滤恕我直言可怕),你可以随时过滤后得到结果,它只会是慢一点:

GCI \\MyFolder -Recurse | Where{$_.FullName -NotMatch "\\ExcludeMe(\\|$)"}
相关问题