Próbuję napisać system znakowania w Powershell. Chciałbym móc ustawić wybrany plik w pliku na przykład przy użyciu pola 'title'
, ponieważ go nie używam. Pliki, które chcę oznaczyć, to mieszanka zdjęć/filmów i tekstu.Powershell - jak ustawić "tytuł" w rozszerzonych właściwościach pliku
Zauważyłem, że dość łatwo jest odczytać/uzyskać rozszerzone atrybuty plików, ponieważ istnieje wiele przykładów dostępnych w sieci, jednak bardzo trudno jest znaleźć przykłady modyfikacji lub zapisu rozszerzonych właściwości pliku; szczególnie w Powershell.
Udało mi się napisać 'titles'
do plików za pomocą taglib-sharp, ale wydaje się, że mają one problemy z różnymi zdjęciami i nie ma zbyt wiele informacji na temat rozwiązywania problemów. Dodatkowo zajmuje się tylko plikami audio/wideo/zdjęciowymi.
Jest to kod mam czytać tytuł (ze zdjęciem testowym):
$path = 'C:\temp\photo.jpg'
$shell = New-Object -COMObject Shell.Application
$folder = Split-Path $path
$file = Split-Path $path -Leaf
$shellfolder = $shell.Namespace($folder)
$shellfile = $shellfolder.ParseName($file)
$shellfolder.GetDetailsOf($shellfile, 21)
może ktoś mi powiedzieć jak mogę zaktualizować tego atrybutu, a następnie napisać/zapisać go do pliku?
Ustawienie rozszerzonych właściwości pliku w .NET wydaje się być zawarte w [to pytanie] (http://stackoverflow.com/questions/5337683/how-to-set-extended-file-properties). – zdan
Cześć - tak, już widziałem to pytanie. Wydaje się, że dso dll odnosi się tylko do dokumentów MS Office, podczas gdy ja chcę ustawić tytuł na wielu różnych typach plików. –