ai didi

powershell - 使用 Get-ChildItem 检索文件夹、名称、全名

转载 作者:行者123 更新时间:2023-12-03 11:17:33 24 4
gpt4 key购买 nike

我目前正在使用此脚本从给定路径中提取名称、文件夹、文件夹名称:

   Get-ChildItem "C:\user\desktop"  | Select Name, `
@{ n = 'Folder'; e = { Convert-Path $_.PSParentPath } }, `
@{ n = 'Foldername'; e = { ($_.PSPath -split '[\\]')[-2] } } ,
@{ n = 'Fullname'; e = { Convert-Path $_.PSParentPath } } |
Export-Csv "C:\user\desktop\txt.txt" -Encoding Utf8 -NoTypeInformation

我在获取 @{ n = 'Fullname'; e = { Convert-Path $_.PSParentPath } } 时遇到问题拉取完整的文件路径。

非常感谢任何帮助。

最佳答案

您错误地引用了 PSParentPath当你的意思PSPath获取全名(完整的文件系统路径):

Get-ChildItem "C:\user\desktop" | Select Name, `
@{ n = 'Folder'; e = { Convert-Path $_.PSParentPath } }, `
@{ n = 'Foldername'; e = { ($_.PSPath -split '[\\]')[-2] } } ,
@{ n = 'Fullname'; e = { Convert-Path $_.PSPath } } # NOT $_.PS*Parent*Path
但是,正如其他人指出的那样,完整路径是 Get-ChildItem 生成的输出对象的标准属性。 ,因此您可以简单地引用 FullName属性(property):
Get-ChildItem "C:\user\desktop" | Select Name, `
@{ n = 'Folder'; e = { Convert-Path $_.PSParentPath } }, `
@{ n = 'Foldername'; e = { ($_.PSPath -split '[\\]')[-2] } } ,
FullName
附注: '\\'将作为 -split 的 RHS操作符,但如果你想跨平台友好,你可以使用 [\\/]注意: hashtable上面使用的基于技术( @{ n = ...; e = ... } ,其中 nName 的缩写, eExpression 的缩写)被称为计算属性,在概念 about_Calculated_Properties 中描述帮助主题,涵盖所有支持计算属性的 cmdlet。

关于powershell - 使用 Get-ChildItem 检索文件夹、名称、全名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40032420/

24 4 0
文章推荐: javascript - Redux:如何追踪数据是否被本地修改?
文章推荐: java - 反射 - Method::get Generic Return Type no generic - 可见性
文章推荐: java - 未找到 Android Jetpack CameraX 方法 createSurfaceProvider()
文章推荐: kubernetes - 如何在Kubernetes中获取 pods ID?
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com