Я пытаюсь программно получить доступ к метаданным локального файла (аналогично полям типа «Авторы» или «Альбом» в файле .mp3) с помощью Powershell (главная причина в том, что мне это кажется наиболее жизнеспособным способом достижения это из MATLAB).
Пока мне удалось прочитать метаданные. Я придумал следующую функцию:
param(
[string]$folderName = "C:\temp\Powershell\test",
[string]$fileName = "test.txt",
[string]$attrNameToSearch = "Size"
)
$objShell = New-Object -ComObject Shell.Application
$objFolder = $objShell.namespace($folderName)
$iAttr = 0
while($objFolder.getDetailsOf($objFolder.items, $iAttr) -ne $attrNameToSearch) {
$iAttr += 1
}
$file = $objFolder.ParseName($fileName)
$attrValue = $objFolder.getDetailsOf($file, $iAttr)
return $attrValue
Кажется, что она отлично работает от ISE, а также когда я вызываю ее из MATLAB с помощью:
cmd = sprintf(['powershell -file psFunction4.ps1 -folderName c:\\temp\\Powershell\\test -fileName ', fileNames{iF}, ' -attrName Size']);
[~, b] = system(cmd)
Теперь вопрос : есть ли способ использовать подобный подход к edit metada?
Заранее спасибо.