Le Provider FileSystem vu en 4.1 est celui que vous manipulerez le plus souvent. Sophie ouvre l’armoire à outils : « Ce sont les cinq gestes de base pour manipuler n’importe quel fichier ou dossier chez Nordika. Une fois maîtrisés, tu ne toucheras plus jamais à l’explorateur Windows pour ça. »
Lister le contenu d’un dossier
Get-ChildItem (déjà croisé en 1.4 et en 4.1) liste les fichiers et sous-dossiers :
Get-ChildItem C:\Nordika\LogsPour explorer récursivement, y compris tous les sous-dossiers :
Get-ChildItem C:\Nordika\Logs -RecursePour ne récupérer que les fichiers (pas les dossiers), ou l’inverse :
Get-ChildItem C:\Nordika\Logs -File
Get-ChildItem C:\Nordika\Logs -DirectoryCréer un fichier ou un dossier
New-Item fonctionne aussi bien pour l’un que pour l’autre, selon le paramètre -ItemType :
New-Item -Path "C:\Nordika\Rapports" -ItemType Directory
New-Item -Path "C:\Nordika\Rapports\audit.txt" -ItemType FileCopier, déplacer, renommer
Copy-Item -Path "C:\Nordika\Rapports\audit.txt" -Destination "C:\Nordika\Archives\"
Move-Item -Path "C:\Nordika\Rapports\audit.txt" -Destination "C:\Nordika\Archives\"
Rename-Item -Path "C:\Nordika\Archives\audit.txt" -NewName "audit_2026.txt"-Recurse fonctionne aussi avec Copy-Item pour copier un dossier entier avec son contenu.
Supprimer un fichier ou un dossier
Remove-Item -Path "C:\Nordika\Rapports\audit.txt"Pour un dossier contenant des éléments, il faut ajouter -Recurse :
Remove-Item -Path "C:\Nordika\Rapports" -RecurseAttention, particulièrement avec cette cmdlet : PowerShell ne place pas les fichiers supprimés dans la corbeille, contrairement à l’explorateur Windows.
Remove-Itemest définitif. Ajoutez systématiquement-WhatIfla première fois que vous testez une suppression sur un chemin sensible (-WhatIfsimule l’action sans l’exécuter, et affiche ce qui aurait été fait)
Remove-Item -Path "C:\Nordika\Rapports" -Recurse -WhatIfLire et écrire le contenu d’un fichier texte
Get-Content -Path "C:\Nordika\Logs\erreurs.log"Pour ne lire que les dernières lignes (pratique sur un gros fichier de logs) :
Get-Content -Path "C:\Nordika\Logs\erreurs.log" -Tail 20Écrire dans un fichier, en écrasant le contenu existant, ou en ajoutant à la suite :
Set-Content -Path "C:\Nordika\Rapports\audit.txt" -Value "Audit du 24/07/2026"
Add-Content -Path "C:\Nordika\Rapports\audit.txt" -Value "Serveur SRV-01 : OK"Vérifier qu’un chemin existe avant d’agir
Un réflexe essentiel avant toute opération sur un fichier, pour éviter une erreur en cas d’absence :
Test-Path -Path "C:\Nordika\Rapports\audit.txt"Renvoie $true ou $false — on utilisera beaucoup cette cmdlet en section 5, combinée à des conditions.
Un exemple concret Nordika
$dossierRapports = "C:\Nordika\Rapports"
if (-not (Test-Path $dossierRapports)) {
New-Item -Path $dossierRapports -ItemType Directory
}
Get-ChildItem "C:\Nordika\Logs" -Recurse -File |
Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } |
Move-Item -Destination $dossierRapportsCe script (dont la logique conditionnelle sera détaillée en section 5) déplace vers les archives tous les fichiers de logs vieux de plus de 30 jours — un ticket typique de maintenance chez Nordika.
Retenez le trio
New-Item/Copy-Item/Remove-Item, cohérent avec la convention Verbe-Nom vue en 2.1 — et surtout, gardez le réflexe-WhatIfavant toute suppression sur un chemin que vous ne maîtrisez pas parfaitement.
Dans la prochaine leçon, on quitte le Provider FileSystem pour passer aux processus et services.