Get-ChildItem通配符,用于文件系统树的“任意深度的子文件夹”

时间:2013-08-26 14:51:00

标签: powershell

我想获取特定子文件夹中特定扩展名的所有文件,但可以位于文件系统中的任何级别,例如

Get-ChildItem ".\Source\**\Release\*.nupkg" -recurse

简单的星号可以工作,但在Source下的直接级别进行搜索,但在树中看起来不太深。

我希望从命令中获取此文件列表:

.\Source\Level1\Release\a.nupkg
.\Source\Level1\bin\Release\b.nupkg

有没有办法实现这个目标?

更新

@JaredPar的答案就像一个魅力!但我的输出是:

目录:D:\ Source \ Level1 \ Release

ode LastWriteTime名称 --- ------------- ---- a --- 08/23/2013 16:02 a.nupkg

目录:D:\ Source \ Level1 \ bin \ Release

ode LastWriteTime名称 --- ------------- ---- a --- 08/23/2013 16:02 b.nupkg

我需要获取一个包含所有文件的列表,而不是按目录分组,如:

ode LastWriteTime名称 --- ------------- ---- a --- 08/23/2013 16:02 a.nupkg a --- 08/23/2013 16:02 b.nupkg

1 个答案:

答案 0 :(得分:2)

尝试以下

gci -re -attribute Directory Release | 
%{ gci $_ -re -in *.nupkg }

第一个命令将在当前路径下找到名称为Release的所有目录值。然后,您可以在这些路径下方专门搜索* .nupkg文件