La gestion des fichiers et des dossiers
Tester l’existence d’un fichier ou d’un dossier
Avant de créer un fichier ou un dossier, une bonne pratique est de vérifier que ce dernier existe au préalable. Cela permettra par exemple d’éviter de recréer celui-ci.
Afin de vérifier la présence ou non d’un fichier ou d’un dossier, nous utiliserons la cmdlet Test-Path.
L’utilisation de cette cmdlet est détaillée dans le chapitre Les cmdlets indispensables.
1. Test d’existence d’un dossier
Prenons la commande suivante :
Test-Path "C:\ENI"
Celle-ci permettra de vérifier la présence du dossier C:\ENI. Si celui-ci existe, alors PowerShell retournera True, sinon il retournera False.
2. Test d’existence d’un fichier
Prenons la commande suivante :
Test-Path "C:\ENI\Test.txt"
Celle-ci permettra de vérifier la présence du fichier Test.txt dans le dossier C:\ENI. Si celui-ci existe, alors PowerShell retournera True, sinon il retournera False.
3. Test d’existence inversé
Si nous souhaitons maintenant vérifier qu’un fichier ou dossier n’existe pas, nous utiliserons la commande suivante :
(!(Test-Path "C:\ENI"))
(!(Test-Path "C:\ENI\Test.txt"))
ou alors :
-not (Test-Path "C:\ENI")
-not (Test-Path "C:\ENI\Test.txt")
Si le dossier n’existe pas alors le résultat...
Création de dossiers ou de fichiers
1. Création de dossiers
La création de dossiers se fera en utilisant la cmdlet New-Item.
Il faudra alors ajouter le paramètre -Type puis la valeur Directory afin de préciser que nous souhaitons créer un dossier.
Dans l’exemple ci-dessous, nous souhaitons créer un dossier C:\ENI :
New-Item "C:\ENI" -Type Directory
2. Création de fichiers
La création de fichiers se fera en utilisant également la cmdlet New-Item.
Il faudra ajouter le paramètre -Type puis la valeur File afin de préciser que nous souhaitons créer un fichier.
Dans l’exemple ci-dessous, nous souhaitons créer un fichier Test.txt :
New-Item "C:\ENI\Test.txt" -Type File
Suppression de dossiers ou de fichiers
La suppression d’un élément en PowerShell se fait via la cmdlet Remove-Item.
Il faudra ensuite spécifier le chemin de l’élément à supprimer, que ce soit un dossier ou un fichier.
Dans l’exemple suivant, nous allons supprimer le dossier C:\ENI :
Remove-Item C:\ENI
Cela supprimera uniquement les éléments à la racine du dossier ENI.
Pour supprimer tous les sous-éléments (sous-dossiers…), il faudra ajouter le paramètre -Recurse.
Remove-Item "C:\ENI" -Recurse