ffmpeg -转换文件,但保持相同的日期修改为原始?



所以我想从ffmpeg和powershell开始,这不是我的强项,但我一直在使用以下powershell命令将某个目录下的每个。flac文件转换为320K文件。

dir *.flac | foreach {ffmpeg -i $_.FullName -c:v copy  -b:a 320k  $_.FullName.Replace('flac', 'mp3')}

这完全是我想要的,没有任何专辑封面被转编码,但我想合并一种方式,使创建的新。mp3文件具有相同的日期修改值。flac文件。这样的事情可能发生吗?

audio_ex.flac = Date Modification: 1/1/2010
audio_ex.mp3 = Date Modification: 9/8/2021

应改为

audio_ex.flac = Date Modification: 1/1/2010
audio_ex.mp3 = Date Modification: 1/1/2010

我有一个6K文件的文件夹,并希望每个原始日期修改以匹配新创建的文件,所以如果我可以执行上述命令,并且在一次执行中也有日期mod时间匹配,那将是理想的。

我想用第三方工具手动修改每个文件的时间,但这太费时了。

尝试以下操作(请注意,别名已扩展为其底层cmdlet名称):

Get-ChildItem -Filter *.flac | ForEach-Object {
$outFile = $_.FullName -replace '.flac$', '.mp3'
ffmpeg -i $_.FullName -c:v copy -b:a 320k $outFile
(Get-Item -LiteralPath $outFile).LastWriteTime = $_.LastWriteTime
}

最新更新