如何递归列出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
答案 0 :(得分:15)
在PowerShell中,dir
是Get-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
)