Редактирование метаданных файла с помощью функции Powershell (вызывается из MATLAB) - PullRequest
0 голосов
/ 08 марта 2020

Я пытаюсь программно получить доступ к метаданным локального файла (аналогично полям типа «Авторы» или «Альбом» в файле .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?

Заранее спасибо.

...