在powershell中递归列出目录

时间:2017-02-24 14:09:21

标签: windows powershell

如何递归列出Powershell中的目录?

我试过dir /S但没有运气:

PS C:\Users\snowcrash> dir /S
dir : Cannot find path 'C:\S' because it does not exist.
At line:1 char:1
+ dir /S
+ ~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\S:String) [Get-ChildItem], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand

1 个答案:

答案 0 :(得分:15)

在PowerShell中,dirGet-ChildItem cmdlet的别名。

将它与-Recurse参数一起使用,以递归方式列出子项:

Get-ChildItem -Recurse

如果您只想要目录而不是文件,请使用-Directory开关:

Get-ChildItem -Recurse -Directory

在3.0版中为文件系统提供程序引入了-Directory开关。

对于PowerShell 2.0,请过滤PSIsContainer属性:

Get-ChildItem -Recurse |Where-Object {$_.PSIsContainer}

(PowerShell别名支持参数解析,因此在上面的所有示例中,Get-ChildItem都可以替换为dir