我正在使用以下内容从我正在阅读的文件结构中提取元数据。我也想要将Name
字段拆分为仅包含没有扩展名的文件名。我会使用BaseName
,但我没有利用Get-ChildItem
,所以这是不可能的。我如何使用PSPath -split
或类似的东西将此值放在针对每个文件的新列中?这循环遍历一堆文件,然后导出到txt文件。
Get-FileMetaData -folders 'C:|Pics' -properties Name, Path, Comments, Dimensions, Width, Height | Sort-Object Name |
select Name, Path, Comments, Dimensions, Width, Height | Export-Csv '\\nzsdf01\SCRIPTS\test.txt' -encoding UTF8 -NoTypeInformation
答案 0 :(得分:1)
假设您使用that answer中的代码,您的选项是:
修改该函数以包含BaseName
$hash.Clear()
$hash.BaseName = [IO.Path]::GetFileNameWithoutExtension($file.Name)
并在函数的参数中指定BaseName:
Get-FileMetaData -folders 'r:\foo' -properties BaseName, Path, Comments
在select
Get-FileMetaData -folders 'r:\foo' -properties Name, Path, Comments |
select @{N='BaseName'; E={[IO.Path]::GetFileNameWithoutExtension($_.Name)}},
Path, Comments | .........