Come rinominare file singoli o multipli con PowerShell

Che tu debba rinominare un singolo file o un intero batch, PowerShell semplifica l'attività. Utilizzando le variabili nello script PowerShell, puoi rinominare uno o più file in sequenza, sostituire gli spazi con caratteri di sottolineatura e modificare le estensioni dei file. In questo tutorial, esamineremo una serie di trucchi per rinominare i file utilizzando gli script PowerShell su Windows 10 e 11.

Per copiare, spostare, rinominare o eliminare file e cartelle con PowerShell su Windows, avrai bisogno del percorso del file e della cartella di destinazione. Fare clic con il pulsante destro del mouse su un file o una cartella e selezionareCopia come percorsodal menu contestuale di Windows.

Di seguito è riportato un glossario dei cmdlet, dei parametri, degli operatori e dei caratteri jolly di PowerShell utilizzati in questa esercitazione di PowerShell.

  1. Get-ChildItem: recupera un elenco di tutti gli elementi (file e cartelle) nella posizione specificata.
  2. “C:Tecnico”: un percorso di esempio in cui si trovano i nostri file. Dovrai sostituirlo con il percorso desiderato.
  3. | (simbolo del tubo): questo simbolo viene utilizzato per trasferire l'output da un cmdlet a un altro.
  4. ForEach-Object: questo cmdlet agisce su ogni elemento di una raccolta.
  5. Rinomina elemento: cmdlet di PowerShell per rinominare i file.
  6. $_: un segnaposto per l'elemento corrente in fase di elaborazione.
  7. -NuovoNome: Questo parametro specifica il nuovo nome che vogliamo assegnare ai tuoi file.
  8. “NuovoNomeFile”: Questo è un esempio del nuovo nome file che vogliamo utilizzare. Puoi sostituirlo con il nome del file desiderato.
  9. *.docx: questo è un esempio di carattere jolly utilizzato per filtrare tutti i file in una directory con estensione ".docx".
  10. Timestamp: ottieni il timestamp dei file.

Questo tutorial utilizza variabili e manipolazione di stringhe per rinominare i file. Con un po' di pratica imparerai a organizzare e gestire i file.

1. Rinominare un singolo file

PowerShell ti consente di rinominare singoli file in modo rapido ed efficiente. Puoi usare ilRename-Itemcmdlet seguito dal nome corrente e dal nuovo nome del file.

Rename-Item "OldFileName.ext" -NewName "NewFileName.ext"

Ad esempio, se hai un file denominato "Comandi ADB" che si trova in una cartella denominata "Technastic" sul desktop, apri la cartella, apri una finestra di PowerShell con il percorso della cartella ed esegui il seguente comando:

Per rinominare lo stesso file dal desktop e non dalla cartella in cui si trova il file, dovrai menzionare il percorso del file nel comando.

Rename-Item -Path "Path-of-the-file" -NewName "NewFileName.ext"

Passare al file di destinazione, fare clic con il pulsante destro del mouse su di esso e selezionareCopia come percorso. Avvia PowerShell sul desktop ed esegui il seguente comando:

Puoi usare ilRename-Itemcmdlet con parametri come-PassThru,-WhatIf, E-Force. Ad esempio, il comando seguente ti fornirà l'output nella finestra di comando.

Rename-Item "Path-of-the-file" -NewName "NewFileName.ext" -PassThru

È possibile rinominare anche una chiave del Registro di sistema utilizzando il cmdlet Rename-Item.

Rename-Item -Path "HKLM:SoftwareAngryBirdsPoliciesAdvertising" -NewName "Advertisement"

Utilizzando ilMove-Itemcmdlet, è possibile rinominare un file e spostarlo contemporaneamente in una posizione definita.

Move-Item -Path "Document _1.docx" -Destination "D:New folderMy Document _1.docx" -Force

Vedi anche:Come stampare e adattare un foglio Excel di grandi dimensioni su una sola pagina

2. Rinominare tutti i file in una cartella

MentreRename-Itemè in grado di rinominare singoli file da solo; ha bisogno dell'assistenza diGet-ChildItemcmdlet per ottenere l'elenco dei file da rinominare. Inoltre, dobbiamo anche aggiungere il-Recurse,-Include, E-NewNameparametri al comando PowerShell per rinominare più file.

Get-ChildItem -Path "Path-to-Folder" -Recurse -Include "*file-extension" | Rename-Item -NewName { $_.Name -replace "OldName","NewName" } 

Ad esempio, per rinominare tutti i file con estensione ".docx" nella cartella denominata "Technastic" situata nel Drive C, è necessario utilizzare il comando precedente come mostrato di seguito:

Se avvii PowerShell con il percorso della cartella in cui si trovano i file di destinazione, puoi rimuovere-Pathdal comando precedente.

Get-ChildItem -Recurse -Include "*file-extension" | Rename-Item -NewName { $_.Name -replace "OldName","NewName" } 

3. Rinominare in sequenza in ordine crescente

PowerShell può anche aiutarti a rinominare i file con la stessa estensione in numero crescente o in sequenza. Utilizzando i comandi, puoi aggiungere un contatore numerico prima o dopo il nome del file mentre li rinomini.

Aggiungere un numero crescente all'inizio

Per aggiungere numeri crescenti durante la ridenominazione dei file in sequenza utilizzando PowerShell, utilizzare questo comando.

Get-ChildItem "Folder-Path" -Recurse -Include "*.extension" | ForEach-Object -Begin { $Counter = 1 } -Process { Rename-Item $_.FullName -NewName ("{0}_{1}" -f $Counter, $_.Name) ; $Counter++ }

Ad esempio, se desideri rinominare tutti i file in sequenza con l'estensione ".docx" in una cartella specifica, aggiungi il percorso della cartella e l'estensione del file nel comando precedente.

Il risultato sarà così:

Aggiunta di numeri crescenti alla fine

Allo stesso modo, puoi aggiungere la numerazione alla fine dei nomi dei file mentre li rinomini.

Get-ChildItem -Path "Folder-Path" -Recurse -Include "*.extension" | ForEach-Object -Begin { $Counter = 1 } -Process { Rename-Item $_ -NewName "NewFileName_$Counter.docx" ; $Counter++ }

I file verranno rinominati come mostrato nello screenshot.

4. Aggiunta di estensioni e casi

Mantieni il nome del file ma modificane l'estensione

Per mantenere intatti i nomi dei file ma rinominare solo l'estensione del file, eseguire il comando seguente.

Get-ChildItem *.current-extension | Rename-Item -NewName { $_.Name -replace '.current-extension','.new-extension' }

Il seguente comando con il percorso della cartella funzionerà ovunque.

Get-ChildItem -Path "C:Technastic" -Recurse -Include *.docx | Rename-Item -NewName { $_.Name -replace '.docx','.txt' }

Se vuoi elencare tutti i file con un'estensione specifica, usa il fileGet-Childrenprima il cmdlet. È quindi possibile utilizzare il comando precedente per rinominare l'estensione corrente con quella desiderata. Infine, puoi verificare l'estensione modificata utilizzando nuovamente il cmdlet Get-Children.

Rinominare file ed estensioni entrambi

Uno script PowerShell può semplificare notevolmente l'attività di ridenominazione batch. È possibile utilizzare lo script seguente per rinominare in batch più file in Windows utilizzando PowerShell. Non solo ti consente di filtrare tutti i file con un'estensione specifica e di modificarne il nome e l'estensione.

Pertanto, se desideri rinominare tutti i file con estensione ".docx" in "File.txt", prova il seguente script.

Get-ChildItem -Path C:Technastic*.docx | ForEach-Object { Rename-Item $_ -NewName "File$i.txt" $i++ }

Modifica di tutti i file in una cartella in minuscolo

Per rinominare tutti i file in una cartella con una determinata estensione in minuscolo, utilizzare il seguente script.

Get-ChildItem *.jpeg | Rename-Item -NewName { $_.Name.ToLower() }

Sostituzione degli spazi con caratteri di sottolineatura

Se i tuoi file hanno uno spazio nel nome (Documento My Word), puoi sostituire gli spazi con caratteri di sottolineatura (My_Word_Document) o trattini (My-Word-Document). Lo script funzionerà su tutti i file nella cartella di destinazione, indipendentemente dalle loro estensioni.

Get-ChildItem -Recurse -Force -Filter "* *" | Rename-Item -NewName { $_.Name -replace " ","_" }

Per saperne di più sulle potenti funzionalità di PowerShell, puoi fare riferimento aIl sito ufficiale di Microsoft.

Related Posts