2024.05.7
Videók átnevezése automatikusan, készítési idő alapján

A korábbi írásomban említett helyreállítás után a visszaszerzett videófájlok időbélyegzője már nem a tényleges készítési időt mutatja és a nevük se utal az eredetükre, így nem egyszerű kiválogatni azokat, amelyek igazán fontosak számunkra. Erre megint megoldást jelent az ffmpeg csomag használata, aminek segítségével ki lehet olvasni a visszaállított videófájlok metaadatait.
Ezúttal az ffmpeg csomagból az ffprobe programot használtam, s menet közben javítgattam a kis powershell szkripten, ahogy derültek ki turpisságok. A szkript érintetlenül hagyja azokat a fájlokat, amikből nem tudja kiolvasni a készítés idejét, illetve ha egynél többször találkozik ugyan olyan időbélyegzővel, akkor se akad meg, egy számláló kerül a fájlnév végére.
foreach($fajl in Get-ChildItem -Recurse -Filter '*mp4' -File){
$probe = ffprobe -v quiet -of default=noprint_wrappers=1:nokey=1 -hide_banner -show_entries format_tags=creation_time -i $fajl.FullName
if($probe -ne $null){
$ujnevszuro = [String]::Concat($probe.Replace(':','_'),'*')
$darab = (Get-ChildItem -Path $fajl.Directory -Filter $ujnevszuro).Count + 1
$ujnev = [String]::Concat($probe.Replace(':','_'),$darab,'.mp4')
Rename-Item -Path $fajl.FullName -NewName $ujnev
}
}