powershell - 使用PowerShell生成文件和目录列表

标签 powershell powershell-2.0 get-childitem

我正在编写一个PowerShell脚本,以创建多个目录并将一堆文件复制到一起,以“编译”一些技术文档。我想生成文件和目录的 list 作为自述文件的一部分,并且我希望PowerShell能够这样做,因为我已经在PowerShell中进行“编译”。

我已经进行了一些搜索,看来我需要使用cmdlet“Get-ChildItem”,但是它给了我太多数据,而且我不清楚如何格式化和删减我不知道的内容想要得到我想要的结果。

我想要类似以下的输出:

Directory
     file
     file
     file
Directory
     file
     file
     file
     Subdirectory
          file
          file
          file

也许是这样的:
+---FinGen
|   \---doc
+---testVBFilter
|   \---html
\---winzip

换句话说,树形结构的某种基本视觉ASCII表示形式包括目录和文件名,仅此而已。我见过执行此操作的程序,但是我不确定PowerShell是否可以执行此操作。

PowerShell可以这样做吗?如果是这样,Get-ChildItem是正确的cmdlet吗?

最佳答案

在您的特定情况下,您想要的是Tree /f。您有一条评论,询问如何剥离前面的部件,并讨论其体积,序列号和驱动器号。在将输出发送到文件之前,可以对输出进行过滤。

$Path = "C:\temp"
Tree $Path /F | Select-Object -Skip 2 | Set-Content C:\temp\output.tkt

上例中Tree的输出是一个我们可以操纵的System.ArraySelect-Object -Skip 2将删除包含该数据的前两行。另外,如果Keith Hill在身边,他还将推荐包含cmdlet Show-Tree的PowerShell社区扩展(PSCX)。如果您好奇,请从here下载。那里有很多强大的东西。

关于powershell - 使用PowerShell生成文件和目录列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27447014/

相关文章:

powershell - 将具有特定扩展名的文件 move 到更高层次的文件夹中

powershell - PowerShell Set-Member 函数和 $_ 的用法

Powershell 打印奇怪的值

windows - 电源外壳 : ftp directory listing (help on a script)

powershell - Get-ChildItem Exclude 和 File 参数不能一起使用

powershell - 如何使用 Get-ChildItem 获取特定文件

powershell - 逐行解析列表,在Powershell中创建一个新列表

powershell - 将Get-Childitem过滤为CSV的内容

powershell - PowerShell-使用WebDAV下载文件

powershell - for循环中的多个选择字符串以分隔文件