View Full Version : [BATCH] prendere i file con data più lontana
djjunior
05-04-2022, 12:09
Salve
avrei necessità di creare un batch che faccia:
1) da una cartella recuperare i 2 file con data più lontana, la data di riferimento dove essere recuperata dal nome del file (pippo1_12_03_2020.mp3 e pippo2_12_03_2020.mp3)
2) successivamente questi 2 file devono essere rinominati (es: pippo1.mp3 e pippo2.mp3) e spostati un altra cartella
Potete aiutarmi?
Grazie
MA la data, è solo presente nel nome del file o anche negli attributi tipo "data ultima modifica"?
E poi, quel nome è fisso, o si può cambiare il nome che può avere?
djjunior
06-04-2022, 12:55
la data dell'ultima modifica è diversa, ecco perchè mi serve come riferimento quella scritta nel nome del file.
il nome del file con la data è fisso non posso modificarlo.
grazie
Al momento non ho assolutamente tempo per scriverlo e testarlo ma l'unica soluzione che vedo è
Rinominare massivamente i files nel formato americano
Fare un sort
Tirare fuori gli ultimi due elementi e rinominarli (e spostarli)
Rinominare come in origine
Quindi in powershell direi un qualcosa tipo
$files = Get-ChildItem -File
foreach($file in $files) {
//lunghezza nome file
$filename= $file.Name
$len = $filename.length
//quya estrai anno mese e giorno e li metti in catena nella forma YYYYMMDD ricordando di anteporre anche il nome file originale
$nuovonome = $filename.SubString($len-8, 4) + ECC[...]
$file | Rename-Item -NewName $nuovonome
}
Poi fai ordinamento
https://stackoverflow.com/questions/51549608/powershell-sort-object-by-name-ascending
e infine rinomini gli ultimi due elementi di quella lista..
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.