Может ли кто-нибудь помочь мне правильно понять эту линию?
powershell Set-ItemProperty -LiteralPath '[NewVideo]' -Name CreationTimeUtc -Value ('[CreationTimeOfOldVideo]' -as [Datetime])
Я пытаюсь повернуть видеофайлы на 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])
К счастью, был скопирован с другого пользователя на этом форуме. Проблема заключается в последней строке. Переменная% 3 - это дата cmd ($ ~ tI) старого файла, обычно это LastModifiedDate, а не CreationDate. Мне нужна PowerShell, чтобы установить дату создания нового файла так же, как дату создания старого файла. Я провел некоторые эксперименты с [oldfile].CreationTimeUTC, безрезультатно.
Помощь очень ценится.