Я не уверен, что для метаданных существует такая вещь, как "символы c имена", особенно в отношении PowerShell. Я подозреваю, что Windows поддерживает определенное количество популярных форматов и предлагает функциональность через Проводник для просмотра, а иногда и редактирования. Я не нашел источника, который мог бы доказать эту теорию, но исследования неявно поддерживают ее: есть несколько десятков результатов поиска о том, как извлечь метаданные файла в PowerShell, и все они, похоже, предлагают примерно один и тот же подход (например, this сообщение в блоге ): использование объекта Shell для сбора информации.
Поскольку вы пометили эту PowerShell, вот мое мнение о том, чтобы свести ее к основам:
$path = 'C:\temp\file.txt' # pick a path
$parent = Split-Path -Parent $path # get the directory
$shell = New-Object -ComObject Shell.Application # get ourselves a shell
$folder = $shell.NameSpace($parent) # get a "folder namespace"
$file = $Folder.Items() | where { $_.Path -eq $path } # get the file itself from the folder
$count = 0 # zero our iterator
$object = New-Object PSObject # make a fresh object to hold our output
While ($folder.GetDetailsOf($folder.Items, $count) -ne "") { # iterate over the available metadata tags for the folder, and for each one get the value from the file
$object | Add-Member -Force NoteProperty ($folder.GetDetailsOf($folder.Items, $count)) ($folder.GetDetailsOf($file, $count))
$count += 1
}
Write-Output $object
Обратите внимание, что атрибуты, доступные для данного файла, очевидно, не являются всеми атрибутами, которые могли бы поддерживаться для любого файла, и дополнительно не обязательно являются «символами c имен». Я подозреваю, что процесс запроса объекта оболочки заставляет его проверять файлы в папке и извлекать метаданные, которые распознает Windows - он мог бы даже сделать это на основе типа представления, выбранного для папки (Фото, Музыка c) , Documents, et c.).
Что касается записи информации, это может быть возможно с помощью одного и того же объекта оболочки, но я не исследовал этот вариант. Вероятно, это зависит от указанного формата c: для mp3 вам, вероятно, нужна библиотека для просмотра / редактирования специфичных для mp3 метаданных c.