Im Windows-Datei-Explorer können Sie die Werte auf der Registerkarte „Details“ der Eigenschaften einer Mediendatei bearbeiten, aber ich möchte dies über die Befehlszeile oder Powershell oder andere Skripts oder auf eine andere Weise zur Automatisierung tun.
Um es klarzustellen: Ich beziehe mich auf die Informationen, die Sie auf der Registerkarte „Details“ finden, wenn Sie die Dateieigenschaften anzeigen, NICHT auf die Dateiattribute.
Insbesondere die Werte für „Titel“ und „Kommentare“
ich habe es versuchtwmicaber es bietet diese Dateidetails nicht.
Ich habe versucht, die GUI mit AutoIt zu automatisieren, bin dabei aber auf zu viele Hürden gestoßen und es neigt zu sehr zum Aufhängen, wenn es unbeaufsichtigt bleibt.
Ich habe im Internet gesucht und nicht einen einzigen HINWEIS gefunden, dass dies möglich ist. Alle Beiträge, deren Titel mich glauben ließen, dass dort die Antwort zu finden sei, waren entweder irreführend oder bezogen sich auf Dateiattribute.
Ist das möglich oder bin ich einfach verrückt?
EDIT: neue Info: Ich habe ffmpeg ausprobiert, was funktioniert, aber der Nachteil ist, dass entweder der gesamte Film neu kodiert oder kopiert werden muss, was für mein spezielles Projekt länger dauert als akzeptabel. Bisher ist die Automatisierung der GUI mit AutoIt meine einzige praktikable Option.
BEARBEITEN: Lösung: Danke an @LotPings und @uSlackr, die mich auf TagLib-Sharp aufmerksam gemacht haben. Ich habe jetzt eine Methode, dies mit Powershell zu tun.
Antwort1
Mit Hilfe von @LotPings und @uSlackr fand ichDiese Antwortzum direkten Herunterladen der Bibliothek TagLib-Sharp.dll und zum direkten Aufrufen mit Hilfe ausDiese FrageDas Ergebnis ist ein sehr einfaches Powershell-Skript, bestehend aus ...
Bibliothek wird geladen …
[Reflection.Assembly]::LoadFrom( (Resolve-Path ".\taglib\Libraries\taglib-sharp.dll"))
und Ändern des „Titels“
Get-ChildItem -Filter *.mp4 | ForEach-Object { [TagLib.File]::Create($_.FullName) | ForEach-Object { $_.tag.Title = 'noTitleNow' ; $_.Save() } }