
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 LeafTester 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 ContainerMaintenant 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.
