PowerShell : Vérifier si un fichier ou un dossier existe

Dans ce tutoriel dédié à PowerShell, je vais vous expliquer comment vérifier si un fichier ou un dossier existe à l’aide de la Cmdlet Test-Path.

La Cmdlet Test-Path va nous permettre de tester si un dossier ou un fichier existe, elle est également utiliser pour tester des éléments de clé dans le registre Windows.

Test-Path a besoin au minimum d’un paramètre pour fonctionner qui -Path, celui-ci peut être omis car ça doit être le première paramètre passer à la Cmdlet, qui est le chemin complet du dossier ou du fichier dont on souhaite tester l’existence.

Test-Path va retourner True ou False en fonction de si l’élément existe.

Tester si fichier existe avec PowerShell

Pour commencer, on va tester si un fichier existe.

On va tester si le fichier my-file.txt est présente dans le dossier C:\PowerShell-Tuto

On va commencer avec un fichier qui existe :

Test-Path -Path C:\PowerShell-Tuto\my-file.txt

On peut voir que la commande retourne True.

La même commande avec un fichier qui n’existe pas :

Test-Path -Path C:\PowerShell-Tuto\other-file.txt

Cette fois, la Cmdlet retourne False car le fichier n’existe pas.

Afin de vous assurez que l’élément tester est bien un fichier, on peut ajouter le paramètre -PathType Leaf.

Test-Path -Path C:\PowerShell-Tuto\my-file.txt -PathType Leaf

Tester si un dossier existe avec PowerShell

Comme pour le fichier, on va utiliser le Cmdlet Test-Path pour vérifier si le dossier MyFolder existe dans le dossier C:\PowerShell-Tuto.

Tester si un dossier existe :

Test-Path -Path C:\PowerShell-Tuto\MyFolder\

Comme le dossier existe, la Cmdlet retourne True.

Pour s’assurer que l’élément que l’on test est bien un dossier, on peut ajouter le paramètre -PathType Container.

Test-Path -Path C:\PowerShell-Tuto\MyFolder -PathType Container

Maintenant voici comment tester l’existence d’un dossier et le créer si celui-ci n’existe pas.

$chemin = "C:\PowerShell-Tuto\MyFolder"

if (-Not (Test-Path -Path $chemin -PathType Container)) {
    New-Item -Path $chemin -ItemType Directory
    Write-Output "The Folder has been created : $chemin"
} else {
    Write-Output "The folder already exists : $chemin"
}

Vous savez maintenant comment utiliser PowerShell pour tester si un dossier ou un fichier existent.

Romain Drouche
Architecte Système | MCSE: Core Infrastructure
Expert en infrastructures IT avec plus de 15 ans d’expérience sur le terrain. Actuellement Chef de projet Systèmes et Réseaux et Référent SSI (Sécurité des Systèmes d’Information), je mets mon expertise au service de la fiabilité et de la sécurité des environnements technologiques.

Laisser un commentaire