한 파일에서 다른 파일로 파일 시스템 메타데이터(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"

그러나 수정된 ​​날짜와 같은 파일 시스템 메타데이터는 복사되지 않습니다. 해당 메타데이터를 복사할 수 있는 방법이 있나요? 어떠한 제안?

감사해요.

PS 저는 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 

관련 정보