Comment vérifier si un dossier existe dans PowerShell

  1. Utilisez le cmdlet Test-Path pour vérifier si un dossier existe dans PowerShell
  2. Utilisez System.IO.Directory pour vérifier si un dossier existe dans PowerShell
  3. Utilisez le cmdlet Get-Item pour vérifier si un dossier existe dans PowerShell
  4. Conclusion
Comment vérifier si un dossier existe dans PowerShell

PowerShell est un outil puissant qui peut effectuer différentes opérations sur des fichiers et des dossiers. Il vous permet de créer, copier, déplacer, renommer, supprimer et visualiser des fichiers et des dossiers sur le système.

La gestion des fichiers et des dossiers est une fonctionnalité de PowerShell, permettant aux utilisateurs de manipuler ces entités mais aussi de vérifier leur existence dans le système. Dans ce tutoriel, nous explorerons diverses méthodes pour vérifier l’existence d’un dossier sur votre système à l’aide de PowerShell.

Utilisez le cmdlet Test-Path pour vérifier si un dossier existe dans PowerShell

Le cmdlet Test-Path détermine si tous les éléments du chemin existent ou non dans PowerShell. Il renvoie une valeur booléenne, True si tous les éléments existent, et False si l’un d’eux est manquant.

Syntaxe :

Test-Path -Path "C:\Path\to\Folder"

Paramètre :

  • -Path : Ce paramètre indique le chemin vers le dossier ou le fichier dont vous voulez vérifier l’existence. Dans ce cas, il est défini sur "C:\Path\to\Folder", indiquant que vous souhaitez vérifier si le dossier situé à ce chemin existe.

Par exemple, la commande suivante vérifie si tous les éléments du chemin C:\New\complex existent ou non.

Test-Path -Path "C:\New\complex"

Sortie :

True

Cela signifie que le dossier complex existe dans le répertoire C:\New.

Cette commande suivante vérifie si le dossier Documents existe dans le répertoire C:\New.

Test-Path -Path "C:\New\Documents"

Sortie :

False

Donc, le dossier Documents n’est pas présent dans le répertoire C:\New.

Si vous souhaitez renvoyer des informations détaillées au lieu de True/False, vous pouvez utiliser l’instruction if comme ceci.

if (Test-Path -Path "C:\New\Documents") {
    Write-Host "The given folder exists."
}
else {
    Write-Host "The given folder does not exist."
}

Dans ce code, nous utilisons le cmdlet Test-Path pour vérifier si un dossier, "C:\New\Documents", existe dans le système. Si le dossier existe, il imprime "Le dossier donné existe" en utilisant Write-Host.

Si le dossier n’existe pas, il imprime "Le dossier donné n'existe pas" dans la console.

Sortie :

The given folder does not exist.

Il s’avère que le dossier "C:\New\Documents" n’existe pas dans le système, ce qui amène le cmdlet Test-Path à renvoyer False. Notre code déclenche le bloc else, affichant le message "Le dossier donné n'existe pas." sur la console.

Cette sortie signifie précisément que le dossier spécifié n’a pas été trouvé à l’emplacement fourni dans le système.

Utilisez System.IO.Directory pour vérifier si un dossier existe dans PowerShell

La classe System.IO.Directory du Framework .NET fournit des méthodes statiques pour créer, déplacer, supprimer et énumérer les répertoires et sous-répertoires. Vous pouvez utiliser sa méthode Exists() pour voir si le chemin fourni fait référence à un répertoire qui existe déjà sur le système.

Elle renvoie également True si le chemin existe et False s’il n’existe pas.

[System.IO.Directory]::Exists("C:\New\complex")

Sortie :

True

Le [System.IO.Directory]::Exists("C:\New\complex") n’a pas de paramètre étant utilisé. Au lieu de cela, il appelle directement une méthode pour vérifier si un dossier existe dans PowerShell.

Maintenant, vérifions si le dossier Documents existe dans le répertoire C:\New.

[System.IO.Directory]::Exists("C:\New\Documents")

Dans la commande ci-dessus, nous utilisons le Framework .NET appelé "System.IO.Directory" pour vérifier si un dossier existe. Cet outil a une fonctionnalité appelée "Exists()" qui nous aide dans cette tâche.

Nous lui demandons de regarder à l’emplacement "C:\New\Documents" et de nous dire s’il y a un dossier là-bas. S’il trouve le dossier, il renverra True, mais si le dossier n’existe pas, il dira False.

Sortie :

False

La sortie est "False". Cela signifie que le System.IO.Directory::Exists() indique que le dossier "C:\New\Documents" n’existe pas à l’emplacement spécifié.

Utilisez le cmdlet Get-Item pour vérifier si un dossier existe dans PowerShell

Le Get-Item obtient l’élément au chemin donné. Si le chemin existe sur le système, il imprime le Mode, LastWriteTime, Length, et Name du répertoire.

Get-Item C:\Users\Public

Dans cette commande, nous récupérons des informations sur le dossier Public situé à C:\Users\Public. Lorsque nous exécutons cette commande dans PowerShell, la console affichera divers détails concernant le dossier.

Sortie :

    Directory: C:\Users


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-r---        10/15/2023   6:35 PM                Public

Si le chemin spécifié n’existe pas, vous obtiendrez un message d’erreur disant qu’il n’existe pas, comme dans l’exemple suivant.

Get-Item C:\Users\Publics

Sortie :

Get-Item : Cannot find path 'C:\Users\Publics' because it does not exist.
At line:1 char:1
+ Get-Item C:\Users\Publics
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\Users\Publics:String) [Get-Item], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemCommand

Conclusion

Ces approches offrent des manières distinctes de vérifier la présence de dossiers dans PowerShell, et vous pouvez les modifier pour répondre à vos besoins spécifiques. Ces techniques ne s’appliquent pas seulement aux dossiers mais peuvent également être utilisées pour vérifier l’existence de fichiers dans votre système.

Nous espérons que cet article vous a donné une idée de la vérification de l’existence d’un dossier dans PowerShell.

Vous aimez nos tutoriels ? Abonnez-vous à DelftStack sur YouTube pour nous aider à créer davantage de tutoriels vidéo de haute qualité. Abonnez-vous
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

Article connexe - PowerShell Folder