路径

时间:2017-03-22 01:16:31

标签: powershell

我正在使用以下内容从我正在阅读的文件结构中提取元数据。我也想要将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

1 个答案:

答案 0 :(得分:1)

假设您使用that answer中的代码,您的选项是:

  1. 修改该函数以包含BaseName

    $hash.Clear()
    $hash.BaseName = [IO.Path]::GetFileNameWithoutExtension($file.Name)
    

    并在函数的参数中指定BaseName:

    Get-FileMetaData -folders 'r:\foo' -properties BaseName, Path, Comments
    
  2. select

    中使用计算属性
    Get-FileMetaData -folders 'r:\foo' -properties Name, Path, Comments |
        select @{N='BaseName'; E={[IO.Path]::GetFileNameWithoutExtension($_.Name)}}, 
            Path, Comments | .........