Lista winnt@man.lodz.pl
[Lista archiwów] [Inne Listy]

Re: [WINNT] czym odczytać datę media created z mp4

To: winnt@man.lodz.pl
Subject: Re: [WINNT] czym odczytać datę media created z mp4
From: "Grzegorz Niemirowski" <grzegorz@grzegorz.net>
Date: Thu, 9 Sep 2021 00:17:32 +0200
Grzegorz Niemirowski <grzegorz@grzegorz.net> napisał(a):
Można to zrobić skryptem w PowerShellu:
$file = ls $args[0]
$shell = New-Object -ComObject "Shell.Application"
$ObjDir = $shell.NameSpace($file.Directory.FullName)
$ObjFile = $ObjDir.parsename($file.Name)
$mediaCreated = $ObjDir.GetDetailsOf($ObjFile, 208)
$newName = $mediaCreated.replace('.','').replace(':','').replace('
','_') +  ".mp4"
Write-Host "Renaming" $args[0] to $newName
Rename-Item -Path $args[0] -NewName $newName
Skrypt można sobie zapisać np. jako mp4rename.ps1 i uruchomić podając
plik  do zmiany nazwy:
PS C:\Users\Grzegorz\Desktop> .\mp4rename.ps1 .\test.mp4
Renaming .\test.mp4 to ‎13‎01‎2019_‏‎1338.mp4

Poprawka z formatem daty zaczynającym się od roku:

$file = ls $args[0]
$shell = New-Object -ComObject "Shell.Application"
$ObjDir = $shell.NameSpace($file.Directory.FullName)
$ObjFile = $ObjDir.parsename($file.Name)
$mediaCreated = $ObjDir.GetDetailsOf($ObjFile, 208) -replace '\P{IsBasicLatin}'
$date = [datetime]::ParseExact($mediaCreated, "g", $null)
$newName = Get-Date $date -format "yyyyMMdd_HHmmss"
$newName = $newName + ".mp4"
Write-Host "Renaming" $args[0] to $newName
Rename-Item -Path $args[0] -NewName $newName

--
Grzegorz Niemirowski
https://www.grzegorz.net/

<Pop. w Wątku] Aktualny Wątek [Nast. w Wątku>