ファイルシステムのメタデータ(modifyDateなど)をあるファイルから別のファイルにコピーする

ファイルシステムのメタデータ(modifyDateなど)をあるファイルから別のファイルにコピーする

古いファイルを再変換し、次のコードを使用して古いファイルから新しいファイルにメタデータをコピーしています。

for %%f in (*.mp4) do ffmpeg -i "%%f" -i "%%~nf_1.mp4" -map 1 -c copy -map_metadata 0 -map_metadata:s:v 0:s:v -map_metadata:s:a 0:s:a "%%~nf_.mp4"

ただし、変更日などのファイル システムのメタデータはコピーされません。そのメタデータをコピーする方法はありますか? 何か提案はありますか?

ありがとう。

追伸:私はWindows 10を使用しています

答え1

ffmpeg をコピーするメタデータは、ビデオに関連付けられたデータです。変更日はファイルの属性であり、Windows によって管理されますが、ffmpeg によって管理されるものではありません。

フォルダーからC:\dirsourceフォルダーにファイルを変換した場合D:\dirtarget、次の PowerShell スクリプトは変更日付をソースからターゲットにコピーします。

Get-ChildItem "C:\dirtarget\" *.mp4 | ForEach-Object {
    $_.LastWriteTime = (Get-Item ("C:\dirsource\"+$_.Name)).LastWriteTime
}

属性CreationTimeおよびについても同様のことができますLastAccessTime

という名前のファイルを作成しmyname.ps1、その中に上記のテキストをコピーします。PowerShell セッションを開始し、 を使用してcdスクリプトを含むフォルダーに移動し、コマンドを実行します.\myname.ps1

「このシステムではスクリプトの実行が無効になっているため、読み込むことができません」というエラー メッセージが表示される場合は、PowerShell ウィンドウで次のコマンドを実行してから、上記を繰り返します。

   Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted 

関連情報