这应该是一个简单的问题。我需要递归运行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 + '\*\'
我不确定这是否失败,因为我没有说明通配符是一个目录,如果是这样的话我该怎么做?欢迎任何建议或意见。
谢谢!
答案 0 :(得分:1)
使用Where-Object
过滤DirectoryName
属性:
$DirectoryNameToExclude = 'D:\Images\' + $local:YM + '\' + $local:YMD + '\' + $env:USERNAME
Get-ChildItem . -Recurse |Where-Object {$_.DirectoryName -ne $DirectoryNameToExclude}