Цитата mihailov_den@vk:
Дату можно брать из названия файла. Формат даты 2019-01-20 , единый »
|
т.е. у всех файлов, созданных в один день, имена одинаковые? В файловой системе такой коллизии существовать не может, файлы будут просто перезаписывать один и тот же файл:
2019-01-20.jpg
Ок, примем за формат имен файлов это:
Цитата mihailov_den@vk:
файл имеет имя 2019-01-15_151941 »
|
т.е. yyyy-MM-dd_HHmmss
тогда скрипт будет примерно таким:
Код:

$src = 'TEST1'
$dst = 'TEST2'
$flt = '*.*'
dir $src -filt $flt -file|%{
$fname = $_.name
try {
$dstf = $dst + '\' + (
'{0:yyyy_MM_dd}' -f ([datetime]::parseexact($_.basename, 'yyyy-MM-dd_HHmmss', $null))
)
if (!(test-path $dstf -patht container)){md $dstf|out-null}
if (test-path ($a = $dstf+'\'+$_.name) -patht leaf){
if ($_.lastwritetime -gt (gi $a).lastwritetime){
cp $_.fullname $dstf -force
}
} else {cp $_.fullname $dstf}
} catch {
write-host 'Произошла ошибка! Проверьте формат даты в имени файла: ' -for red -non
write-host $fname -for cyan
}
}