我有一个包含已更改文件的文件夹,可以部署到另一台服务器。我正在构建一个根目录下的文件列表,递归,我想跳过整个文件夹。这不起作用:
gci -path \\myfolder -recurse -exclude "*\excludeme\*" | where{! $_PSIsContainer}
它正在进行并列出了excludeme中的所有文件。即使这样也没有用:
gci -path \\myfolder -recurse -exclude "\\myfolder\excludeme\*" | where etc.
我应该注意到" excludeme"是一个包含许多软件项目文件夹的文件夹,即本身就是一堆乱七八糟的子文件夹。救命啊!
答案 0 :(得分:3)
如果您只需输入文件夹的名称,您应该可以使用-Exclude:
GCI \\MyFolder -Recurse -Exclude "ExcludeMe"
话虽如此,如果它不适合你(并且它不会让我感到惊讶,因为文件系统提供商过滤恕我直言可怕),你可以随时过滤后得到结果,它只会是慢一点:
GCI \\MyFolder -Recurse | Where{$_.FullName -NotMatch "\\ExcludeMe(\\|$)"}