PDA

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

Kaya
06-04-2022, 11:47
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

Kaya
06-04-2022, 15:13
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..