小编Joo*_*ost的帖子

使用 Powershell 将文件的创建日期设置为另一个文件的创建日期

有人能帮我把这条线弄对吗?

powershell Set-ItemProperty -LiteralPath '[NewVideo]' -Name CreationTimeUtc -Value ('[CreationTimeOfOldVideo]' -as [Datetime])
Run Code Online (Sandbox Code Playgroud)

我试图将视频文件旋转 90 度,同时保留原始文件的创建日期。我已经找到了使用 ffmpeg 进行旋转的方法,但是我在尝试将创建日期复制到新文件时遇到了困难。搜索使我得出结论,使用 powershell 应该是可能的(我对此几乎一无所知)

这是我到目前为止:

FOR /r %%I in (*.avi, *.mp4) DO CALL :loopbody "%%~fI" "%%~dpnI_%%~xI" "%%~tI"
GOTO :EOF
:loopbody
ffmpeg -i %1 -c:v libx264 -crf 18 -maxrate 4000k -bufsize 4000k -c:a libvo_aacenc -q:a 100 -map_metadata 0 -preset veryslow -tune film -movflags +faststart %2
powershell Set-ItemProperty -LiteralPath '%2' -Name CreationTimeUtc -Value ('%3' -as [Datetime])
Run Code Online (Sandbox Code Playgroud)

谢天谢地,这是从这个论坛的另一个用户那里复制的。问题出在最后一行。%3 变量是旧文件的 cmd 日期 ($~tI),通常是 LastModifiedDate,而不是 CreationDate。我需要 powershell 将新文件的创建日期设置为与旧文件的创建日期相同。我对 [oldfile].CreationTimeUTC 做了一些试验,但无济于事。

非常感谢帮助。

powershell ffmpeg command-line

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

command-line ×1

ffmpeg ×1

powershell ×1