PowerShell remplace peu à peu la traditionnelle invite de commande Windows. Il est temps de s’y habituer et de mettre à jour certaines commandes de base. Dans ce tutoriel, je vous explique comment créer un dossier avec PowerShell.
Créer un dossier avec PowerShell
Si vous êtes un habitué de l’invite de commande Windows, du terminal MacOS ou Linux, sachez que vous pouvez utiliser les commandes mkdir
ou md
. Ces deux dernières sont des alias du cmdlet New-Item
, qui permet de créer des fichiers ou des répertoires dans PowerShell.
En résumé, vous pouvez utiliser l’une des trois commandes suivantes pour créer un dossier avec PowerShell :
PS > mkdir "Nom du dossier"
PS > md "Nom du dossier"
PS > New-Item "Temp" -ItemType Directory
Voici les mêmes commandes, mais en spécifiant le chemin du dossier :
PS > mkdir "C:\Temp\Nouveau dossier"
PS > md "C:\Temp\Nouveau dossier"
PS > New-Item -Path "C:\Temp\Nouveau dossier\" -ItemType Directory
Le cmdlet New-Item
sur PowerShell est plus complet que ses deux alias pour créer des dossiers et permet d’effectuer plus d’opération. Les options les plus courantes avec le cmdlet New-item
sont les suivantes :
- -Item-Type : « directory » ou « file »
- -Path : le chemin du répertoire
- -Name : le nom du répertoire
Pour en savoir plus, vous pouvez consulter la documentation du cmdlet New-Item sur le site Microsoft ou taper Get-Help New-Item
dans PowerShell.
Créer un dossier seulement s’il n’existe pas
Par défaut, PowerShell n’écrase pas un répertoire d’il existe déjà, mais renvoie une erreur. Si vous n’en souhaitez pas, vous pouvez utiliser le paramètre -Force
:
New-Item -ItemType Directory -Force -Path C:\Chemin\Du\Dossier
⚠️ Attention : Si vous utilisez -Force
sur un fichier (et non un répertoire) qui existe déjà, il sera écrasé.
Dans le cas d’un script, une autre solution consiste à utiliser le cmdlet Test-Path
dans une condition pour vérifier l’existence d’un dossier avec sa création :
$path = "C:\temp\MonNouveauDossier"
If(!(Test-Path -PathType container $path))
{
New-Item -ItemType Directory -Path $path
}
Créer des dossiers et sous dossiers
Pour créer des dossiers et sous-dossiers imbriqués, il suffit de les indiquer dans l’option -Path
. PowerShell créé ensuite les dossiers qui n’existent pas et qui sont spécifiés dans le chemin -Path
:
New-item -Path "C:\Dossier\NouveauDossier1\NouveauDossier2" -ItemType Directory
Créer plusieurs dossiers en une seule fois
Il est possible de créer plusieurs dossiers, dans des chemins différents, en une seule fois avec PowerShell. Il suffit de séparer les emplacements par des virgules :
New-Item -Path C:\Temp1,C:\Temp2,C:\Temp3 -ItemType Directory