powershell - 仅获取目录名称

标签 powershell command-line

我有一个Directoy X,其中包含500个子目录。我需要的是一种快速的方法,它仅获取我的目录和X目录中的这500个子目录的名称(因此,没有Mode,没有LastWriteTime或其他任何东西,仅是名称)并将其通过管道传输到文件中。

因此,例如,我有这个:

-X
 |+Dir1
 |+Dir2
 |+Dir3
 |
 ...
 |+Dir500

我想要通过管道传输到txt文件的是这个
X/Dir1
X/Dir2
X/Dir3
...
X/Dir500

如何使用PowerShell或CommandLine执行此操作?
我正在使用Windows 7和PowerShell 4.0
谢谢,

最佳答案

Get-ChildItem与命令行中的dir具有相同的作用:它获取目录中的内容。您只在寻找目录。 PS v3及更高版本通过使用-directory的标记具有此内置功能。在较旧的PowerShell版本中,您可以将Get-ChildItem用管道传输到Where{$_.PSIsContainer以获取目录,然后将其通过管道传输到select Name以仅获取目录名称,而不是其完整路径(例如,“Dir1”与“X:\ Dir1”)。如果需要完整路径,请使用select FullName。假设您希望将其作为CSV,请将其通过管道传递给Export-Csv,然后再传递您要创建的CSV的名称(例如DirectoriesInX.csv),如果您不想要类型信息,则添加-NoTypeInformation的标志。
PowerShell v3及更高版本:

Get-ChildItem "X:\" -directory | Select FullName | Export-Csv "DirectoriesInX.csv" -NoTypeInformation
PowerShell v2及以下版本:
Get-ChildItem "X:\" | Where{$_.PSIsContainer} | Select FullName | Export-Csv "DirectoriesInX.csv" -NoTypeInformation

关于powershell - 仅获取目录名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33787200/

相关文章:

java - 如何获取多个文件

shell - Atom Editor - 在 Windows 上安装 Minimap 包

java - 使用 Java 中的命令行和外部 Jars 编译多个包

.net - 处理 StreamWriter 而不在一行中声明变量

powershell - 无法让 WMI 连接在 powershell 中工作

powershell - 如何将 Powershell 脚本连接到已打开的文档?

powershell - 使用 PowerShell 将文件从 tfs 版本控制复制到目录

swift - 如何从 OS X 命令行工具使用 Swift 框架或库

command-line - 没有 Lazarus 的免费 Pascal

powershell - 如何提高Powershell的调试速度