Comment renommer un ou plusieurs fichiers avec PowerShell

Que vous ayez besoin de renommer un seul fichier ou un lot entier, PowerShell facilite la tâche. À l’aide de variables dans votre script PowerShell, vous pouvez renommer un ou plusieurs fichiers de manière séquentielle, remplacer les espaces par des traits de soulignement et modifier les extensions de fichiers. Dans ce didacticiel, nous découvrirons de nombreuses astuces pour renommer des fichiers à l’aide de scripts PowerShell sur Windows 10 et 11.

Pour copier, déplacer, renommer ou supprimer des fichiers et des dossiers avec PowerShell sous Windows, vous aurez besoin du chemin du fichier et du dossier cibles. Cliquez avec le bouton droit sur un fichier ou un dossier et sélectionnez Copier comme chemin dans le menu contextuel de Windows.copier comme option de chemin dans Windows 11

Voici un glossaire des applets de commande, paramètres, opérateurs et caractères génériques PowerShell utilisés dans ce didacticiel PowerShell.

  1. Obtenir-ChildItem: récupère une liste de tous les éléments (fichiers et dossiers) dans l’emplacement spécifié.
  2. « C:\Technastique »: Un exemple de chemin où se trouvent nos fichiers. Vous devrez le remplacer par le chemin souhaité.
  3. | (symbole du tuyau): Ce symbole est utilisé pour transmettre la sortie d’une applet de commande à une autre.
  4. PourEach-Objet: Cette applet de commande agit sur chaque élément d’une collection.
  5. Renommer l’élément: Applet de commande PowerShell pour renommer les fichiers.
  6. $_: Un espace réservé pour l’élément en cours de traitement.
  7. -NouveauNom: Ce paramètre précise le nouveau nom que nous souhaitons attribuer à vos fichiers.
  8. « NouveauNomFichier »: Ceci est un exemple du nouveau nom de fichier que nous souhaitons utiliser. Vous pouvez le remplacer par le nom de fichier souhaité.
  9. *.docx: Ceci est un exemple de caractère générique utilisé pour filtrer tous les fichiers d’un répertoire avec l’extension ‘.docx’.
  10. Horodatage: Obtenez l’horodatage des fichiers.

Ce didacticiel utilise des variables et la manipulation de chaînes pour renommer les fichiers. Avec un peu de pratique, vous apprendrez à organiser et à gérer des fichiers.

1. Renommer un seul fichier

PowerShell vous permet de renommer des fichiers individuels rapidement et efficacement. Vous pouvez utiliser le Rename-Item applet de commande suivie du nom actuel et du nouveau nom du fichier.

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

Par exemple, si vous avez un fichier nommé « Commandes ADB » situé dans un dossier nommé « Technastic » sur votre bureau, ouvrez le dossier, ouvrez une fenêtre PowerShell avec le chemin du dossier et exécutez la commande suivante :

renommer un fichier spécifique avec la commande PowerShell

Pour renommer le même fichier depuis votre bureau, et non depuis le dossier où se trouve le fichier, vous devrez mentionner le chemin du fichier dans votre commande.

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

Accédez au fichier cible, cliquez dessus avec le bouton droit et sélectionnez Copier comme chemin. Lancez PowerShell sur votre bureau et exécutez la commande suivante :

renommer un seul fichier avec le chemin en utilisant PowerShell

Vous pouvez utiliser le Rename-Item applet de commande avec des paramètres tels que -PassThru, -WhatIfet -Force. Par exemple, la commande suivante vous donnera le résultat dans la fenêtre de commande.

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

commande rename-item avec paramètre passthru

Vous pouvez même renommer une clé de registre à l’aide de l’applet de commande Rename-Item.

Rename-Item -Path "HKLM:\Software\AngryBirds\Policies\Advertising" -NewName "Advertisement"

En utilisant le Move-Item cmdlet, vous pouvez renommer un fichier et le déplacer simultanément vers un emplacement défini.

Move-Item -Path "Document _1.docx" -Destination "D:\New folder\My Document _1.docx" -Force

renommer un seul fichier et le déplacer vers un emplacement différent dans PowerShell

2. Renommer tous les fichiers d’un dossier

Alors que Rename-Item est capable de renommer des fichiers uniques seul ; il a besoin de l’aide du Get-ChildItem applet de commande pour obtenir la liste des fichiers à renommer. De plus, il faut également ajouter le -Recurse, -Includeet -NewName paramètres à votre commande PowerShell pour renommer plusieurs fichiers.

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

Par exemple, pour renommer tous les fichiers avec l’extension « .docx » dans le dossier nommé « Technastic » situé dans le lecteur C, vous devez utiliser la commande ci-dessus comme indiqué ci-dessous :

commande powershell pour renommer plusieurs fichiers

Si vous lancez PowerShell avec le chemin d’accès au dossier où se trouvent les fichiers cibles, vous pouvez supprimer -Path à partir de la commande ci-dessus.

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

renommer plusieurs fichiers avec le chemin du dossier dans PowerShell

3. Renommer séquentiellement par ordre croissant

PowerShell peut également vous aider à renommer les fichiers portant la même extension en nombre croissant ou séquentiellement. À l’aide de commandes, vous pouvez ajouter un compteur numérique avant ou après le nom du fichier tout en les renommant.

Ajouter un nombre croissant au début

Pour ajouter des nombres croissants tout en renommant les fichiers de manière séquentielle à l’aide de PowerShell, utilisez cette commande.

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

Par exemple, si vous souhaitez renommer séquentiellement tous les fichiers avec l’extension « .docx » dans un dossier spécifique, ajoutez le chemin du dossier et l’extension du fichier dans la commande ci-dessus.

ajouter un nombre croissant avant le nom du fichier dans PowerShell

Le résultat sera comme ceci :plusieurs fichiers renommés dans PowerShell

Ajouter des nombres croissants à la fin

De même, vous pouvez ajouter une numérotation à la fin des noms de fichiers tout en les renommant.

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

renommer plusieurs fichiers séquentiellement avec un nombre croissant

Les fichiers seront renommés comme indiqué dans la capture d’écran.

renommer les fichiers avec un nombre croissant à la fin des noms de fichiers

4. Ajout d’extensions et de cas

Conserver le nom du fichier mais modifier son extension

Pour conserver les noms de fichiers intacts mais renommer uniquement l’extension de fichier, exécutez la commande suivante.

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

renommer plusieurs extensions de fichiers

La commande suivante avec le chemin du dossier fonctionnera n’importe où.

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

Si vous souhaitez lister tous les fichiers avec une extension spécifique, utilisez le Get-Children applet de commande en premier. Vous pouvez ensuite utiliser la commande ci-dessus pour renommer l’extension actuelle en celle souhaitée. Enfin, vous pouvez vérifier à nouveau l’extension modifiée à l’aide de l’applet de commande Get-Children.get-children et pipe avec rename-item pour changer l'extension du fichier

Renommer les fichiers et l’extension

Un script PowerShell peut rendre la tâche de renommage par lots beaucoup plus facile. Vous pouvez utiliser le script suivant pour renommer par lots plusieurs fichiers sous Windows à l’aide de PowerShell. Il vous permet non seulement de filtrer tous les fichiers avec une extension spécifique et de modifier leur nom et leur extension.

Ainsi, si vous souhaitez renommer tous les fichiers avec l’extension « .docx » en « Fichier.txt », essayez le script suivant.

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

Changer tous les fichiers d’un dossier en minuscules

Pour renommer tous les fichiers d’un dossier avec une certaine extension en minuscules, utilisez le script suivant.

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

Remplacement des espaces par des traits de soulignement

Si vos fichiers ont un espace dans leur nom (My Word Document), vous pouvez remplacer les espaces par des traits de soulignement (My_Word_Document) ou des traits d’union (My-Word-Document). Le script fonctionnera sur tous les fichiers du dossier cible, quelles que soient leurs extensions.

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

remplacer l'espace par un trait de soulignement dans les noms de fichiers

Pour en savoir plus sur les puissantes fonctionnalités de PowerShell, vous pouvez vous référer à Le site officiel de Microsoft.