Come rinominare i file in batch in Windows (6 modi)

La ridenominazione dei file uno per uno potrebbe non richiedere molto tempo se sono presenti solo pochi file. Tuttavia, se è necessario rinominare più miglia, si desidera sicuramente rinominare i file in batch o in blocco.

Quindi abbiamo creato questo articolo per aiutarti a fornirti diversi metodi per rinominare i tuoi file in blocco. Forniscono diverse opzioni, quindi ti consigliamo di esaminarle tutte e sceglierne una in base alle tue preferenze.

Sommario

Se volete continuare a leggere questo post su "[page_title]" cliccate sul pulsante "Mostra tutti" e potrete leggere il resto del contenuto gratuitamente. ebstomasborba.pt è un sito specializzato in Tecnologia, Notizie, Giochi e molti altri argomenti che potrebbero interessarvi. Se desiderate leggere altre informazioni simili a [page_title], continuate a navigare sul web e iscrivetevi alle notifiche del blog per non perdere le ultime novità.

Seguir leyendo


Perché rinominare i file in batch?

Esistono molti motivi per cui potresti voler rinominare i file in batch, ad esempio:

  • Molti file disponibili su Internet hanno nomi di file generici o indistinguibili.
  • I nomi file predefiniti di foto o video acquisiti dalle fotocamere utilizzano la data e l’ora per creare nomi, che potresti voler modificare.
  • Organizzare i propri file, ad esempio rinominando i file musicali per ascoltarli nell’ordine che si preferisce.
  • Caricamento o trasferimento di più file su una piattaforma con una convenzione di denominazione diversa.

Come rinominare i file in batch in Windows

Esistono alcuni modi per rinominare in batch i file in Windows. È possibile utilizzare la capacità di ridenominazione della GUI limitata o utilizzare le interfacce della riga di comando per ulteriori opzioni. Esistono applicazioni di denominazione dedicate disponibili su Internet, insieme all’utilità PowerRename di Microsoft.

Le persone di solito vogliono rinominare i file nel modo seguente:

  • Sostituzione o rimozione di parti di un file.
  • Modifica delle estensioni.
  • Aggiunta di una sequenza di numeri al file.
  • Cambiare maiuscole o maiuscole.
  • Assegnazione di nomi ai file in base all’input da un file di testo.

Quindi, abbiamo spiegato come è possibile eseguire queste attività in dettaglio nelle seguenti sottosezioni:

Utilizzo della funzione Rinomina di Esplora file

Il primo metodo per rinominare i file in batch in Windows è quello con cui la maggior parte degli utenti ha familiarità, ovvero utilizzando la funzione di ridenominazione di Esplora file .

Tuttavia, tieni presente che fornisce opzioni molto limitate sui nomi che puoi impostare. Per spiegare di più, tutti i file rinominati avranno lo stesso nome file insieme a numeri crescenti tra parentesi.

Per rinominare i file,

  1. Assicurati che tutti i file che vuoi rinominare siano nell’ordine necessario.
  2. Seleziona tutti i file e fai clic con il pulsante destro del mouse sul primo elemento.
  3. Fai clic su Rinomina o Mostra altre opzioni > Rinomina .
  4. Digitare il nuovo nome file e premere Invio.

Utilizzo della funzione PowerRename di PowerToys

PowerToys è uno strumento sviluppato da Microsoft che puoi utilizzare per eseguire una varietà di funzioni estese sul tuo sistema Windows. Una delle utilità incluse nel pacchetto PowerToys è l’utilità PowerRename.

Aiuta a rinominare in blocco i file fornendo opzioni avanzate per la ricerca e la sostituzione delle parti del nome.

Per usarlo per rinominare in batch il tuo file,

  1. Scarica e installa PowerToys dalla piattaforma Microsoft.
  2. Apri Esplora file e vai ai file che desideri rinominare.
  3. Seleziona tutti questi file e scegli PowerRename o Mostra altre opzioni > PowerRename .
  4. Seleziona le opzioni desiderate e fai clic su Applica .

Ci sono molte opzioni che puoi usare con questa utility, come ad esempio:

  • Ricerca e sostituzione di caratteri nel nome del file.
  • Modifica dello stile delle maiuscole dei nomi.
  • Aggiunta di numeri sequenziali alla fine dei nomi.
  • Aggiunta di informazioni su data e ora in un formato diverso ai nomi. (Fai clic sull’icona “i” accanto a Sostituisci con la casella di testo)
  • Abilitando Usa espressioni regolari, puoi utilizzare caratteri jolly specifici nella casella di testo Cerca (fai clic sull’icona “i” accanto a questa casella)

Utilizzo del prompt dei comandi

È inoltre possibile utilizzare il comando del prompt dei comandi ren o rename per rinominare in batch i file in Windows. La sintassi per il comando è ren [:][] dove i parametri tra parentesi ([ ]) sono facoltativi.

Esistono più modi per rinominare i file utilizzando questo comando. Inoltre, puoi anche utilizzare tali comandi come script batch per usi futuri.

Innanzitutto, apri il prompt dei comandi e cambia la tua directory nella cartella di cui desideri rinominare i file. Fare così,

  1. Apri Esegui e inserisci cmd per aprire il prompt dei comandi .
  2. Immettere cd /d durante la sostituzione del percorso completo.

Puoi anche aprire la cartella in Esplora file e inserire cmd nella sua barra degli indirizzi per aprire il prompt dei comandi direttamente nel percorso di lavoro.

Quindi, applica i passaggi seguenti a seconda di come desideri rinominare i file.

Rinomina estensione

  1. Per rinominare un’estensione, puoi utilizzare il seguente comando:
    ren *. *.
    Puoi sostituire e secondo le tue necessità. Ad esempio, ren *.png *.jpg
  2. Allo stesso modo, per rimuovere un’estensione. il comando è ren *. *
  3. E, per aggiungere un’estensione, usa ren *. *.

Nota: tieni presente che il comando precedente modifica solo il nome dell’estensione ma non la codifica del file.

Rimozione dei caratteri iniziali

Molti utenti pensano che sia un bug, tuttavia, puoi rimuovere i caratteri iniziali dai nomi dei file nel modo seguente:

  • Il comando è ren “*.*” “*.*”
    Ad esempio, per rimuovere i primi tre caratteri, il comando è ren “*.*” “///*.*”
  • Tieni presente che entrambi i nomi dei file devono essere racchiusi tra virgolette.
  • Tuttavia, non rimuove il ‘.’ icona e il processo di troncamento si interrompe dopo che il punto è stato raggiunto, indipendentemente dal numero di barre utilizzate. Ad esempio, ren “*.*” “///////*.*” rinomina abc.bctxt in .bctxt

Rimozione di parti del nome file

È possibile rimuovere parti di un nome file se le parti sono separate da delimitatori, come spazio, tabulazione o un simbolo non alfanumerico. Ti aiuta a rinominare alcune delle parti separate dai delimitatori come nuovo nome.

Nel nome del file abc_def xyz.txt , il carattere di sottolineatura ‘_’, lo spazio ‘ ‘ e il punto ‘.’ sono i delimitatori.

Tuttavia, non è possibile utilizzare le parti del nome file che non sono separate da tali delimitatori come il nuovo nome file.

Facciamo un esempio di rimozione delle parti sui nomi dei file in cui il delimitatore è un carattere di sottolineatura “_”.

Se è presente un solo underscore , puoi rimuovere tutto ciò che precede il underscore utilizzando il comando seguente:

  • for /f "tokens=1,2,* delims=_" %F in ('dir /b "*_*"') do ren "%F_%G" "%G"

Dove,

  • delims specifica il delimitatore per questo processo, in questo caso il carattere di sottolineatura “_”.
  • i token specificano quali parti del nome del file assegnare a nuove variabili.
  • In questo caso, dove tokens=1,2,* e la variabile iniziale è %F, il comando assegna rispettivamente le due parti del nome file alle variabili %F e %G.
  • Puoi anche usare altre variabili al posto di F.

Se sono presenti più underscore , come a_b_c.txt , per rimuovere tutto tranne le parti dopo l’ultimo underscore,

Il comando è,

  • for /f "tokens=1,2,3,* delims=_" %F in ('dir /b "*_*_*"') do ren "%F_%G_%H" "%H"

Qui, i token 1, 2 e 3 prendono le tre parti del nome del file separate da due _ e le impostano a %F, %G e %H in ordine. Quindi, rinomina %F_%G_%H solo in %H.

Allo stesso modo, puoi rinominarlo in altre parti dei nomi dei file, come %F o %G (seconda parte) sostituendo l’ultima parte del comando. Tuttavia, questo rimuove anche l’estensione.

Puoi anche specificare più delimitatori . Ad esempio, se vogliamo rinominare in batch i file sotto forma di a_b-c.txt in a.txt , possiamo inserire

  • for /f "tokens=1,2,3,4,* delims=_-." %F in ('dir /b "*_*-*.*"') do ren "%F_%G-%H.%I" "%F.%I"

dove %F, %G, %H, %I prendono rispettivamente a,b,c e txt.

Tuttavia, tieni presente che non puoi utilizzare lo stesso nome per più file . Quindi, se questo metodo comporta la ridenominazione di più di un file con lo stesso nome, il ciclo di comandi si interrompe immediatamente.

Inoltre, se si desidera utilizzare il ciclo for in uno script batch, è necessario sostituire il segno ‘%’ con due segni %. Ad esempio, è necessario sostituire la variabile %F con %%F. Per ulteriori informazioni sull’utilizzo del ciclo for nel prompt dei comandi, fare riferimento alla documentazione for Microsoft.

Aggiunta di caratteri all’inizio o alla fine

Se pensi che usare il ‘*’ o il ‘?’ i caratteri jolly consentono di aggiungere caratteri al nome, saresti errato. Ad esempio, l’utilizzo ren *.mp3 ab*.mp3 non rinomina file.mp3 in abfile.mo3 , ma able.mp3 . Quindi hai bisogno di un metodo diverso.

Questo metodo utilizza una sintassi di comando simile a quella del metodo precedente. Di solito, puoi usarlo per aggiungere alcuni caratteri all’inizio o alla fine del nome del file. Tuttavia, se nel nome del file sono presenti altri delimitatori, è anche possibile aggiungere caratteri all’inizio o alla fine di questi delimitatori.

Usiamo un semplice esempio,

  • Per rinominare a.txt per file a name.txt , il comando è
    for /f "tokens=1,2,* delims=." %F in ('dir /b "*.*"') do ren "%F.%G" "file %F name.%G"
  • Allo stesso modo puoi aggiungere caratteri solo all’inizio o solo alla fine.

Insieme al metodo sopra (utilizzando parte di un nome file), l’aggiunta di caratteri al nome offre un’elevata personalizzazione per la ridenominazione batch dei file in Windows.

Aggiunta di numeri sequenziali

Il metodo precedente consente solo di aggiungere gli stessi set di caratteri ai nomi dei file. Se si desidera aggiungere numeri sequenziali ai file, è necessario utilizzare un file batch. Segui i passaggi seguenti per farlo,

  1. Apri Esegui e inserisci notepad per aprire Blocco note .
  2. Immettere lo script fornito di seguito durante la sostituzione dei componenti come indicato.
  3. Premi Ctrl + Maiusc + S per salvare con nome il file con un’estensione diversa.
  4. Imposta Salva come su Tutti i file e Nome file su qualsiasi nome desideri con un’estensione .bat , ad esempio rename_sequence.bat
  5. Sposta il file batch nella posizione dei file che desideri rinominare.
  6. Eseguire lo script facendo doppio clic su di esso.
 setlocal enabledelayedexpansionset /a Number=1for /r %%F in (*.txt) do ( ren "%%F" "%%~nF !Number!.txt" set /a Number+=1)endlocal

Qui,

  • Devi sostituire .txt con l’estensione dei file che desideri rinominare. Non utilizzare il carattere jolly * per l’estensione poiché è necessario posizionare il file batch nella stessa cartella. Pertanto, se si utilizza il carattere jolly, il comando include anche il file batch durante la ridenominazione dei file.
  • La variabile Numero funziona come un contatore a partire da 1 che aggiungi al file. Puoi sostituirlo con il numero di partenza che preferisci.
  • %%~nF !Number! aggiunge uno spazio e il numero sequenziale ai file. Puoi inserire !Number! ovunque nel nuovo nome file come preferisci.
  • %%~nF espande %%F nel nome del file senza il percorso e l’estensione. Se usi solo, %%F , includerà l’estensione e il percorso dei file risultando in un errore.
  • Il comando setlocal enabledelayedexpansion consente di utilizzare più comandi sul ciclo for. Se non lo inserisci, il valore di Number non cambierà nelle esecuzioni successive.

Insieme ai metodi precedenti, puoi eliminare alcune parti del nome del file e aggiungervi dei numeri per facilitarne il riconoscimento e l’organizzazione. Ad esempio, 11001.picfile.2022198.1211.png e 11001.picfile.2022198.1215.png in picfile 1.png e picfile 2.png

Inoltre, se si desidera utilizzare numeri con 0 all’inizio come 01, 02, 03, ecc., è necessario aggiungere condizioni allo script, ad esempio:

 setlocal enabledelayedexpansionset /a Number=1for /r %%F in (*.txt) do ( if !Number! lss 10 ( ren "%%F" "%%~nF 0!Number!.txt" ) else ( ren "%%F" "%%~nF !Number!.txt" ) set /a Number+=1)endlocal

Allo stesso modo, per 001, 002, 003, ecc., formato numerico, utilizzare il ramo else if per aggiungere 00 se minore di 10 e aggiungere 0 se minore di 100.

Prendere input da file di testo

È anche possibile rinominare in batch i file prendendo gli input da un file di testo. È inoltre necessario utilizzare uno script batch per questo metodo.

  1. Innanzitutto, crea un file di testo con i nuovi nomi di file in ogni riga. Nel nostro esempio, il file è filename.txt .
  2. Assicurati che i file che desideri rinominare siano nell’ordine corretto. Rinominali arbitrariamente se non lo sono.
  3. Utilizzare i passaggi del metodo precedente per creare il file .bat con lo script seguente (dopo aver apportato le modifiche necessarie) ed eseguirlo.
 setlocal EnableDelayedExpansion< filename.txt ( for %%F in (*.mp3) do ( set /P name= ren "%%F" "!name!.mp3" ))endlocal
  • Qui, il filename.txt include il nome di tutti i file e puoi cambiare l'estensione .mp3 con quella che ti serve.
  • Inoltre, se stai rinominando file .txt , devi aggiungere una condizione per evitare di rinominare il file filename.txt . La sceneggiatura completa è,
 setlocal EnableDelayedExpansion< filename.txt ( for %%F in (*.txt) do ( if NOT %%F==filename.txt ( set /P name= ren "%%F" "!name!.txt" ) ))endlocal

Converti in maiuscolo o minuscolo

È molto facile convertire tutte le lettere in minuscolo. Il comando è:

  • for /f "Tokens=*" %f in ('dir /l /b /a-d') do (ren "%f" "%f"),

dove, il flag /l fornisce i file della directory in minuscolo, facendo in modo che il comando ren utilizzi il minuscolo per tutti i file. La riga di comando di Windows non fa distinzione tra maiuscole e minuscole, quindi ritiene che sia maiuscole che minuscole siano gli stessi caratteri, rendendo possibile l'utilizzo di questa sostituzione.

Tuttavia, il comando dir non ha alcun flag per fornire i nomi dei file in maiuscolo. Quindi è necessario utilizzare il seguente script batch utilizzando i passaggi del metodo Aggiunta di numeri sequenziali:

 setlocal enableDelayedExpansionfor %%F in (*.mp3) do ( set "name=%%~nF" for %%I in (ABCDEFGHIJKLMNOPQRSTU VWXYZ) do ( set "name=!name:%%I=%%I!" ) ren "%%f" "!name!%%~xF" >nul 2>&)endlocal

Dovresti cambiare .mp3 nell'estensione dei tuoi file.

Questo script non cambia il caso delle estensioni. Tuttavia, se desideri modificare anche le estensioni in maiuscolo, sostituisci:

  • name=%%~nF con name=%%F
  • !name!%%~xF con !name!

Comportamento dei caratteri jolly nel comando Rinomina

Come accennato in precedenza, * e ? i caratteri jolly non si comportano come normalmente penseresti se li usi sia sui nomi dei file di origine che su quelli di destinazione

Un utente del forum superutente dbenham ha spiegato questo comportamento in dettaglio nel forum. Ti consigliamo di controllare la pagina del forum per ottenere le informazioni complete.

Utilizzo di Windows PowerShell

Windows PowerShell è un'interfaccia della riga di comando molto potente che offre più opzioni e funzionalità.

Simile al prompt dei comandi, per prima cosa digita powershell nella barra degli indirizzi della cartella di cui devi rinominare i file e premi Invio. Oppure puoi aprire Windows PowerShell in qualsiasi altro modo e passare alla directory.

Successivamente, applica i metodi seguenti a seconda di come desideri rinominare in batch i file.

Rinomina estensione

  • Il comando di Windows PowerShell per rinominare in batch l'estensione è:
    Get-ChildItem *. | Rename-Item -NewName { $_.Name -replace ".","." }
  • Allo stesso modo, puoi inserire solo "." al posto di "." per rimuovere l'estensione.
  • Per aggiungere un'estensione, utilizzare il comando Get-ChildItem *. | Rename-Item -NewName { $_.Name + "." }

È possibile utilizzare il carattere di fine file (eof) $ dopo la vecchia estensione per consentire la modifica solo dell'ultima istanza dell'estensione. Per esempio,

  • Get-ChildItem *.jpg | Rename-Item -NewName { $_.Name -replace ".jpg",".png" } cambia a.jpg.jpg in a.png.png
  • Get-ChildItem *.jpg | Rename-Item -NewName { $_.Name -replace ".jpg$",".png" } cambia a.jpg.jpg in a.jpg.png

C'è anche un altro modo per rinominare l'estensione, che usa la classe System.IO . La sintassi per questo metodo è:

  • Get-ChildItem *. | Rename-Item -NewName { [io.path]::ChangeExtension($_.Name, ".")

È inoltre possibile utilizzare il flag -Recurse per Get-ChildItem per consentire al comando di funzionare su tutti i file nelle sottocartelle della directory di lavoro.

Rimozione o sostituzione di caratteri specifici

A differenza del prompt dei comandi, in PowerShell normalmente si utilizza il carattere che sostituisce l'operatore -replace per rinominare i file. Quindi, puoi sostituire direttamente determinati set di caratteri adiacenti con uno nuovo o impostare la sostituzione su un valore vuoto per rimuovere i caratteri.

Ad esempio, per rinominare file 01.mp3 in Music01.mp3 , puoi utilizzare il comando:

  • Get-ChildItem *.mp3 | Rename-Item -NewName { $_.Name -replace "file ","Music" }

Rimozione o sostituzione di caratteri in qualsiasi posizione

Per sostituire i caratteri in qualsiasi posizione in Windows PowerShell, puoi utilizzare il comando:

  • Get-ChildItem *. | Rename-Item -NewName { $_.Name.SubString(,) }

sostituendo le seguenti porzioni:

  • con la posizione che si desidera iniziare per il nuovo nome file.
  • con la lunghezza desiderata per il nuovo nome file.

Ad esempio, Get-ChildItem *.mp3 | Rename-Item -NewName { $_.Name.substring(2,$_.Name.length-5) } rinomina abcdefgh.mp3 in cdefgh

La prima posizione di un nome file è zero, quindi il carattere del nuovo nome inizia dal terzo carattere. E la lunghezza è determinata dalla posizione finale, che è 11 inclusa l'estensione. Quindi stai prendendo 11-5=6 caratteri per formare il nuovo nome.

È necessario prendere nota della lunghezza dell'estensione in questo metodo. Puoi aggiungere direttamente l'estensione nel comando per evitare di doverla cambiare di nuovo. Per fare ciò, il comando per l'esempio sarebbe:

  • Get-ChildItem *.mp3 | Rename-Item -NewName { $_.Name.substring(2,$_.Name.length-5) + “.mp3” }

Aggiunta di caratteri all'inizio o alla fine

L'aggiunta dei caratteri è più conveniente con PowerShell rispetto al prompt dei comandi, in particolare perché è possibile utilizzare l'operatore '+' per aggiungere i nomi e il valore $_.Name per ottenere il nome file originale.

  • Il comando è qualcosa di simile al seguente:
    Get-ChildItem *. | Rename-Item -NewName { “Starting Appending Part” + $_.Name + “Ending Appending Part" }
  • Tuttavia, per aggiungere alla fine la parte del nome escludendo l'estensione, è necessario utilizzare le variabili $_.BaseName e $_.Extension nel modo seguente:
    Get-ChildItem *. | Rename-Item -NewName { “Starting Appending Part” + $_.BaseName + “Ending Appending Part" + $_.Extension }

Aggiunta di numeri sequenziali

Analogamente ai metodi precedenti, è molto più semplice aggiungere numeri sequenziali su PowerShell. Ecco come puoi farlo:

  1. In PowerShell digitare $i = 1 e premere Invio per impostare il valore del contatore. Puoi cambiarlo nel numero da cui vuoi che inizi la sequenza.
  2. Immettere quindi Get-ChildItem *. | Foreach-Object {Rename-Item $_ -NewName ($_.BaseName + “ {0:D3}” + $_.Extension ) }

Puoi sostituire D3 con quante cifre vuoi. Ad esempio, {0:D3} aggiunge i numeri a tre cifre: 001, 002 e così via.

Puoi anche inserire il numero ovunque sul nome.

Prendere input da file di testo

Prendere l'input da un file di testo è leggermente più complesso, quindi il modo migliore per farlo utilizzando questa riga di comando è creare uno script PowerShell. Ecco come puoi farlo:

  1. Apri Esegui e inserisci notepad .
  2. Copia e incolla lo script qui sotto mentre modifichi i componenti rilevanti come abbiamo indicato.
  3. Premi Ctrl + Maiusc + S.
  4. Imposta Salva come su Tutti i file e Nome file su qualsiasi nome desideri con estensione .ps1 , ad esempio, rename_from_text.ps1
  5. Sposta il file batch nella posizione dei file che desideri rinominare.
  6. Crea un altro file di testo in cui ogni riga contiene il nuovo nome per i file in ordine. Salvalo come file di testo ( .txt ) nella stessa posizione. Nell'esempio, abbiamo usato filename.txt
  7. Eseguire lo script di PowerShell facendo clic con il tasto destro su di esso e selezionando Esegui con PowerShell.
 $FilesToChange = Get-ChildItem *.mp3$NameFile = Get-Content filename.txtif($FilesToChange.FullName.Count -eq $NameFile.Count){ for($i=0; $i -lt $NameFile.Count; $i++) { Rename-Item -Path $FilesToChange.FullName[$i] -NewName ($NameFile[$i]+".mp3") }}

Nota: se ricevi il messaggio di errore Impossibile caricare perché gli script in esecuzione sono disabilitati su questo sistema , apri PowerShell come amministratore e immetti il ​​comando:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

Devi cambiare .mp3 nell'estensione dei tuoi file e filename.txt nel file di testo con l'elenco.

Se vuoi convertire i nomi dei file di testo, devi aggiungere una condizione allo script. Lo script completo è:

 $FilesToChange = Get-ChildItem *.mp3$NameFile = Get-Content filename.txt$j=0if($FilesToChange.FullName.Count -eq $NameFile.Count){ for($i=0; $i -lt $NameFile.Count; $i++) { if ($FilesToChange.BaseName[$i]+$FilesToChange.Extension[$i] -eq "a.mp3") { continue } Rename-Item -Path $FilesToChange.FullName[$i] -NewName ($NameFile[$j]+".mp3") $j++ }}

Converti in maiuscolo o minuscolo

Ecco i comandi che puoi usare per cambiare maiuscole e minuscole dei tuoi file:

  • Per cambiare tutto in minuscolo
    Get-ChildItem | Rename-Item -NewName {$_.BaseName.ToLower() + $_.Extension.ToLower()}
  • Per cambiare tutto in maiuscolo
    Get-ChildItem | Rename-Item -NewName {$_.BaseName.ToUpper() + $_.Extension.ToUpper()}
  • Per modificare il nome senza estensione in maiuscolo
    Get-ChildItem | Rename-Item -NewName {$_.BaseName.ToUpper() + $_.Extension.ToLower()}

Utilizzo di strumenti di terze parti

Molti strumenti di terze parti come Bulk Rename Utility, File Renamer Basic, Advanced Renamer, ecc. Sono disponibili su Internet, che puoi utilizzare per rinominare in batch i tuoi file. Queste app offrono più personalizzazioni e funzionalità rispetto all'utilità PowerRename.

Puoi scaricare e utilizzare uno qualsiasi di essi seguendo i tutorial dal loro sito Web ufficiale.