Windows のメディア ファイルの「詳細」セクションにある「プロパティ」の「値」をプログラムで変更しますか?

Windows のメディア ファイルの「詳細」セクションにある「プロパティ」の「値」をプログラムで変更しますか?

Windows ファイル エクスプローラーでは、メディア ファイルのプロパティの [詳細] タブで値を編集できますが、コマンド ライン、Powershell、その他のスクリプト、または自動化するその他の方法を使用してこれを実行したいと考えています。

明確にするために、私が言及しているのは、ファイル属性ではなく、ファイルのプロパティを表示したときに「詳細」タブに表示される情報です。

具体的には、「タイトル」と「コメント」の値

私はもう試したwmicただし、ファイルの詳細は提供されません。

AutoIt を使用して GUI を自動化しようとしましたが、多くの障害にぶつかり、放置するとハングアップしやすくなります。

私はウェブを検索しましたが、これが実行可能であるというヒントは 1 つも見つかりませんでした。答えがあると信じさせるタイトルの投稿はすべて、誤解を招くものか、ファイル属性に関するものでした。

これはできるのでしょうか?それとも私がおかしいのでしょうか?

編集: 新しい情報: ffmpeg を試してみましたが、うまくいきました。ただし、欠点は、ムービー全体を再エンコードするかコピーする必要があり、私の特定のプロジェクトでは許容範囲を超える時間がかかることです。これまでのところ、AutoIt を使用して GUI を自動化することが唯一の実行可能なオプションです。

編集: 解決策: TagLib-Sharp を紹介してくれた @LotPings と @uSlackr のおかげで、Powershell でこれを行う方法がわかりました。

答え1

@LotPingsと@u​​Slackrの助けを借りて、私はこの回答TagLib-Sharp.dllライブラリを直接ダウンロードし、ヘルプで直接呼び出します。この質問結果として、次のような非常に基本的な Powershell スクリプトが作成されます...

ライブラリを読み込んでいます...

[Reflection.Assembly]::LoadFrom( (Resolve-Path ".\taglib\Libraries\taglib-sharp.dll"))

「タイトル」を変更する

Get-ChildItem -Filter *.mp4 | ForEach-Object { [TagLib.File]::Create($_.FullName) | ForEach-Object { $_.tag.Title = 'noTitleNow' ; $_.Save() } } 

関連情報