Skip to content

Briganteggiando

Il blog di Francesco Placco

Rinominare più file tramite PowerShell

Francesco Placco

Oltre 2000 file da rinominare…

Da diverse settimane sto aggiornando le gallerie fotografiche di questo sito, e mi trovo ad affrontare numerosi file conservati nel corso degli anni. Nel corso del tempo infatti ho usato diversi metodi di “archiviazione”, alcuni piuttosto spartani e poco adatti ad un import online. Come vedete nell’immagine al lato, ci sono diverse foto salvate con un prefisso (l’anno dello scatto) compreso tra due parentesi quadre. Non il massimo della praticità, insomma.

Si tratta di oltre 2000 immagini, e sinceramente non mi va proprio di spendere un pomeriggio a rinominarle una per una. E non ho neanche voglia di mettermi a cercare qualche programmino da scaricare. Pur non avendo a disposizione il mio caro e vecchio terminale, posso usare uno strumento decisamente simile: Windows PowerShell. Con due semplici comandi infatti ho aggirato il problema in pochi minuti.

Avviamo PowerShell e spostiamoci nella cartella dove vogliamo effettuare la modifica (il comando è sempre cd). Assicuriamoci che non ci siano altri file, perchè questi comandi interesseranno tutto il contenuto della directory (anche altre cartelle). Il mio primo istinto è quello di “normalizzare” il nome di file sostituendo ogni spazio con un trattino basso, il minimo per dei file che andranno a finire online. Quindi, inizio con questo:

dir | rename-item -newname { $_.name -replace " ","_" }

Come avrete capito, l’opzione “rename-item” va a cambiare il nome di tutti i file nella directory attraverso un cambio di caratteri. Nel mio caso, ho specificato che gli ” ” (lo spazio) vengano sostituiti con i “_” (i trattini bassi). In pochi secondi, tutti i file sono stati aggiornati.

Si passa quindi alla domanda più difficile: come elimino da tutti questi file il prefisso? Non trattandosi di una sostituzione o di una modifica, nel mio caso posso pensare di eliminare tot. caratteri dall’inizio del nome di ogni file. Essendo il prefisso uguale per ogni file, mi basta sapere quanti caratteri occupa per poterlo rimuovere agevolmente. Quindi, vado con questo:

dir | rename-item -newname { [string]($_.name).substring(7) }

Un comando un po’ più complesso ma altrettando semplice. Nel mio caso, il prefisso è composto da 7 caratteri (l’anno tra parentesi quadre più il trattino basso), quindi sempre con l’opzione “rename-item” procedo questa volta alla cancellazione dei primi sette caratteri dalla stringa (in questo caso, dal nome dei file). Pochi secondi ed il gioco è fatto.

Se con l’eliminazione del prefisso alcuni file avranno lo stesso nome questi non verranno modificati, quindi dovrete rinominarli manualmente (oppure spostare le foto già rinominate in un’altra cartella e lanciare di nuovo il comando 😉 ). In questo modo, ho rinominato oltre 2000 file in poco meno di 2 minuti, e sono pronti per finire nella nuova area Gallerie del sito.

Un po’ di fantasia e questi due comandi si adatteranno anche alla vostra situazione.

  • Share on Bluesky
  • Condividi su Facebook
  • Condividi su X
  • Share on Threads
  • Condividi su LinkedIn
  • Condividi su Reddit
  • Condividi su Tumblr
  • Condividi su Pinterest
  • Condividi su Flipboard
  • Condividi su WhatsApp
  • Condividi su Telegram
  • Condividi su Pocket
  • Spedisci questa pagina via email

Categorie:

Tecnologia

Etichette:

Guide, Sistemi Operativi

Pubblicato il:

9 Febbraio 2017

Successivo:

Vandalismo sociale

Precedente:

Una società nel pallone

Una risposta a “Rinominare più file tramite PowerShell”

  1. Eliminare file/directory con la forza
    Aprile 16, 2019 at 11:43 am

    […] come gestire file e cartelle in modi non troppo ortodossi in ambiente Windows. Dopo aver spiegato come rinominare più file con un solo comando, oggi vi spiego come eliminare con la forza file o cartelle bloccati. Avete presente che certe […]

    Rispondi

Lascia un commento Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

  • Info
  • Lavoro
  • Pubblicazioni
  • Progetti
  • Copyleft
  • Privacy

BlueSky · Mastodon · Facebook · RSS

WordPress · Hola