使用 power shell 中的目录名称属性列出主目录及其子目录

问题描述

我有一个名为 test 的文件夹的以下树结构。

enter image description here

我想要实现的是使用 Get-ChildItem 属性在列目录名下列出主目录及其子目录(代码如下所示)。

这是我在 powershell 中编写的代码

Get-ChildItem -Path C:\Users\USER\Desktop\test -Recurse | Select-Object directoryname,Name,LastWriteTime,CreationTime | Export-Csv -Path 'C:\Users\USER\Desktop\filetxt.csv' -Encoding ascii -NoTypeinformation

我取得的成绩如下:

enter image description here

如您所见,文件夹 1 和文件夹 2 的目录名称丢失,应该采用与路径相同的名称。同样对于 SubFolder1,目录名称应为 Main Path\Folder1 等...我的预期结果如下:

enter image description here

有人可以帮我找到以下问题的解决方案吗?谢谢

解决方法

文件夹没有属性“目录名”。您可以使用带有 Split-Path 的计算属性来提取您想要的信息。

Get-ChildItem -Path D:\sample\test-files -Recurse |
    Select-Object -Property @{Name='Path';Expression={Split-Path -Path $_.FullName -Parent}},Name,LastWriteTime,CreationTime,@{Name='Extension';Expression={if (-not $_.PSIsContainer) {$_.Extension}}} 

顺便说一句:文件夹实际上没有“LastWriteTime”。它们显示了它们包含的最新文件中的“LastWriteTime”。 ;-)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...