how can i get the length of the full path of a filename?
我成功地在目录结构中递归地获取所有文件,现在我正在尝试获取完整路径的长度:
get-childitem y:\ -rec | where {!$_.PSIsContainer} |
select-object FullName, LastWriteTime, $($_.fullname).length | export-csv -notypeinformation -delimiter '|' -path file.csv
我的问题是:$($_.fullname).length
:
Select-Object : Null parameter. Expecting one of the following types: {System.String, System.Management.Automation.Scri ptBlock}. At line:2 char:14
+ select-object <<<< FullName, LastWriteTime, $($_.fullname).length | export-csv -notypeinformation -delimiter '|' -pa th file.csv
+ CategoryInfo : InvalidArgument: (:) [Select-Object], NotSupportedException
+ FullyQualifiedErrorId : DictionaryKeyUnknownType,Microsoft.PowerShell.Commands.SelectObjectCommand
我如何获得文件全名的长度?
答案 0 :(得分:5)
在select cmdlet中创建自定义表达式。像这样:
get-childitem y:\ -rec | where {!$_.PSIsContainer} |
select-object FullName, LastWriteTime, @{n="FullNameLength";e={ $_.fullname.length }} |
export-csv -notypeinformation -delimiter '|' -path file.csv
n
=姓名和e
=表达式。您也可以使用他们的全名。 l
或label
是name
的替代方案。没有其他方式你写它们,你最终得到一个自定义属性。 :)