我正在尝试使用Powershell获取给定路径的"dir"输出,但我很难尝试获得所需的格式。我是Powershell的新手,所以对我使用的命令的任何建议对我也非常有帮助。
使用的命令
$dirs = (Get-ChildItem -Recurse $path | Format-Table -HideTableHeaders | Out-String).Split("`n")
我得到的输出
Directory: D:GetDataTest
d----- 3/4/2018 6:02 PM dir1
d----- 3/4/2018 6:02 PM dir2
-a---- 3/2/2018 3:56 PM 1024 file_1
-a---- 3/2/2018 3:56 PM 1024 file_2
Directory: D:GetDataTestdir1
-a---- 3/2/2018 3:56 PM 1024 file_1
-a---- 3/2/2018 3:56 PM 1024 file_2
Directory: D:GetDataTestdir2
-a---- 3/2/2018 3:56 PM 1024 file_1
-a---- 3/2/2018 3:56 PM 1024 file_2
我想删除所有空格以及目录中项目列表之前显示"目录:.."的行。
我追求的输出格式是
d----- 3/4/2018 6:02 PM dir1
d----- 3/4/2018 6:02 PM dir2
-a---- 3/2/2018 3:56 PM 1024 file_1
-a---- 3/2/2018 3:56 PM 1024 file_2
-a---- 3/2/2018 3:56 PM 1024 file_1
-a---- 3/2/2018 3:56 PM 1024 file_2
-a---- 3/2/2018 3:56 PM 1024 file_1
-a---- 3/2/2018 3:56 PM 1024 file_2
根据JoesfZ的评论,您可以使用Select-Object指定属性:
Get-Childitem -R $path | Select-Object -Property Mode, LastWriteTime, Length, Name
您还可以使用名称和表达式哈希表操作属性,如上面的链接中所述 - 例如,从 FullName 属性中删除"D:\GetDataTest":
Get-Childitem -R $path |
Select-Object -Property @{Name = "PartialPath"; Expression = {($_.FullName).Replace("D:GetDataTest","")}}
Name
和Expression
可以进一步缩写为n
和e