Стандарт для фото и видео:\\
**ГГГГ-ММ-ДД ЧЧ-ММ-СС (модель камеры из EXIF) Возможное описание.расширение**
Иерархия папок (в скобках примеры):\\
Корень (Photo) ->\\
Пятилетие (2005-2010) ->\\
Год (2007), где уже непосредственно хранятся фото ->\\
Событие с множеством материалов (2007.05.15-25 Восхождение на Эверест), для удобства нахождения и просмотра.
Программа [[http://www.amok.am/en/freeware/amok_exif_sorter/|AMOK EXIF Sorter]], шаблон:\\
**%year%-%month%-%day% %hour%-%minute%-%second% (%model%)**\\
Directory: **%year%**
Переименование файлов типа VID_20070515_103000.3gp во [[https://freecommander.com|FreeCommander]]:\\
**%%[n,5,4]-[n,9,2]-[n,11,2] [n,14,2]-[n,16,2]-[n,18,2] ([exif_cmodel])%%**
Powershell, функция получения метаданных (фото, аудиотреки):
Function Get-FileMetaData {
Param([string[]]$folder)
foreach($sFolder in $folder) {
$a = 0
$objShell = New-Object -ComObject Shell.Application
$objFolder = $objShell.namespace($sFolder)
foreach ($File in $objFolder.items()) {
$FileMetaData = New-Object PSOBJECT
for ($a ; $a -le 266; $a++) {
if($objFolder.getDetailsOf($File, $a)) {
$hash += @{$($objFolder.getDetailsOf($objFolder.items, $a)) =
$($objFolder.getDetailsOf($File, $a)) }
$FileMetaData | Add-Member $hash
$hash.clear()
} #end if
} #end for
$a=0
$FileMetaData
} #end foreach $file
} #end foreach $sfolder
} #end Get-FileMetaData
https://devblogs.microsoft.com/scripting/use-powershell-to-find-metadata-from-photograph-files/
====== Переименование файлов с камеры в телефоне ======
^Исходный файл ^Конечный файл ^
|VID_20070515_103000.mp4 |2007-05-15 10-30-00.mp4 |
|IMG_20070515_103000.jpg |2007-05-15 10-30-00.jpg |
|PANO_20070515_103000.jpg |2007-05-15 10-30-00 PANO.jpg |
$files = dir '~\Pictures\2025-04-28 photos' |? Extension -match 'jpe?g|mp4'
$files |% {
$filetime = ([datetime]::parseexact(($_.basename -replace '\D'), 'yyyyMMddHHmmss', $null)).tostring("yyyy-MM-dd HH-mm-ss")
if ($_.basename -match '^pano') {
Rename-Item -path $_.FullName -NewName "$filetime PANO$($_.Extension)" #-WhatIf
}
else {
Rename-Item -path $_.FullName -NewName "$filetime$($_.Extension)" #-WhatIf
}
}