Get-Childitem递归但跳过特定父文件夹

时间:2018-03-19 13:07:34

标签: powershell get-childitem

这应该是一个简单的问题。我需要递归运行Get-Childitem以在以下文件夹结构中查找.jpgs:

'D:\Images\' + $local:YM + '\' + $local:YMD + '\' + $env:USERNAME

username文件夹包含jpgs和包含jpgs的其他文件夹。我希望递归Get-Childitem能够解决用户名文件夹子文件夹中的jpgs,但是跳过用户名文件夹中的jpgs。

例如,我希望Get-Childitem能够解决:

'D:\Images\2018_03\2018_03_19\Garrett\Shoes\Shoe.jpg'

但不是:

'D:\Images\2018_03\2018_03_19\Garrett\Shoe.jpg'

我尝试使用以下路径但没有成功:

'D:\Images\' + $local:YM + '\' + $local:YMD + '\' + $env:USERNAME + '\*\'

我不确定这是否失败,因为我没有说明通配符是一个目录,如果是这样的话我该怎么做?欢迎任何建议或意见。

谢谢!

1 个答案:

答案 0 :(得分:1)

使用Where-Object过滤DirectoryName属性:

$DirectoryNameToExclude = 'D:\Images\' + $local:YM + '\' + $local:YMD + '\' + $env:USERNAME
Get-ChildItem . -Recurse |Where-Object {$_.DirectoryName -ne $DirectoryNameToExclude}