Créer un répertoire à l'aide de Windows PowerShell

Marion Paul Kenneth Mendoza 30 janvier 2023
  1. Utilisation de l’espace de noms [System.IO] pour créer un répertoire dans PowerShell
  2. Utilisation de l’objet de système de fichiers pour créer un répertoire dans PowerShell
  3. Utilisation de la cmdlet New-Item pour créer un répertoire dans PowerShell
  4. Utilisation de la commande héritée md pour créer un répertoire dans PowerShell
Créer un répertoire à l'aide de Windows PowerShell

Dans Windows PowerShell, il existe plusieurs façons de créer des répertoires de fichiers ou des dossiers que nous pouvons entièrement intégrer dans nos scripts. Cet article vous montrera comment les créer à l’aide de Windows PowerShell.

Utilisation de l’espace de noms [System.IO] pour créer un répertoire dans PowerShell

L’utilisation de la classe Directory .NET Framework depuis l’espace de noms system.io est possible. Pour utiliser la classe Directory, utilisez la méthode statique CreateDirectory et fournissez un chemin vers l’emplacement du nouveau dossier.

Cette technique est présentée ici.

[System.IO.Directory]::CreateDirectory("C:\test\newfolder")

Lorsque la commande ci-dessus s’exécute, elle renvoie une classe DirectoryInfo. Cependant, nous ne recommandons pas nécessairement cette approche, mais elle fonctionne actuellement et est disponible.

Utilisation de l’objet de système de fichiers pour créer un répertoire dans PowerShell

Une autre façon de créer un répertoire consiste à utiliser l’objet Scripting.FileSystemObject de Windows PowerShell.

Cette méthode est le même objet que VBScript et d’autres langages de script utilisés pour travailler avec le système de fichiers. Il est rapide et relativement facile à utiliser.

Une fois l’objet créé, Scripting.FileSystemObject expose une méthode CreateFolder. La méthode CreateFolder accepte une chaîne représentant le chemin pour créer le dossier.

Après l’exécution, un objet contient le chemin et d’autres informations sur le répertoire nouvellement créé.

$fso = New-Object -ComObject Scripting.FileSystemObject
$fso.CreateFolder('C:\test1')

Utilisation de la cmdlet New-Item pour créer un répertoire dans PowerShell

Les commandes natives de Windows PowerShell sont également disponibles pour créer des répertoires. Une façon consiste à utiliser la cmdlet New-Item.

New-Item -Force -Path c:\test3 -ItemType Directory

Lorsqu’il est utilisé, le paramètre de commutateur -Force écrasera les dossiers existants qui ont déjà été créés. Au lieu de cela, nous pouvons utiliser la cmdlet Test-Path pour vérifier si le répertoire existe.

Dans l’exemple ci-dessous, nous pouvons créer un bloc de script pour vérifier si le répertoire existe. Si le répertoire existe, il ne créera pas le répertoire.

Cette syntaxe est un moyen d’éviter le paramètre de commutateur -Force.

$path = "C:\temp\NewFolder"

if(!(test-path $path))
{
      New-Item -ItemType Directory -Path $path
}

Supposons que nous comparions la sortie de cette commande avec la sortie de la commande .NET précédente. Le résultat est le même car la cmdlet New-Item et la commande [System.IO.Directory]::CreateDirectory renvoient un objet DirectoryInfo.

Il est également possible de raccourcir la commande New-Item en omettant le nom du paramètre -Path et en ne fournissant que le chemin complet sous forme de chaîne de type de données avec la syntaxe ItemType. Cette commande révisée est illustrée ici.

New-Item c:\test4 -ItemType directory

Certains pourraient se plaindre qu’il était plus facile de créer un répertoire dans l’interpréteur de commandes à l’ancienne, cmd, car tout ce qu’ils avaient besoin de taper était md - et taper md est sans aucun doute plus facile que de taper la commande New-Item.

Utilisation de la commande héritée md pour créer un répertoire dans PowerShell

L’exemple précédent conduit à la quatrième façon de créer un répertoire (dossier) à l’aide de Windows PowerShell, en utilisant la fonction md.

L’avantage d’utiliser la commande md est qu’elle est plus rapide puisqu’elle sait déjà que vous allez créer un répertoire. Par conséquent, vous pouvez laisser le paramètre ItemType et saisir directement le chemin complet.

md c:\test5
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Article connexe - PowerShell Directory