我正在使用PowerShell 2.0,并且希望输出特定路径的所有子目录。以下命令输出所有文件和目录,但是我不知道如何过滤掉文件。
Get-ChildItem c:\mypath -Recurse
我尝试使用
$_.Attributes
来获取属性,但是后来我不知道如何构造System.IO.FileAttributes
的文字实例来进行比较。在cmd.exe
中将是dir /b /ad /s
最佳答案
对于低于3.0的PowerShell版本:FileInfo
返回的Get-ChildItem
对象具有“base”属性PSIsContainer
。您只想选择那些项目。
Get-ChildItem -Recurse | ?{ $_.PSIsContainer }
如果您想要目录的原始字符串名称,则可以执行Get-ChildItem -Recurse | ?{ $_.PSIsContainer } | Select-Object FullName
对于PowerShell 3.0及更高版本:Get-ChildItem -Directory
您还可以使用别名dir
,ls
和gci