PowerShell:
Controleren of een directory bestaat
Hoe:
Gebruik de Test-Path
cmdlet om te controleren op het bestaan van een directory. Deze cmdlet retourneert een boolean: $true
als de directory bestaat, en $false
als dat niet zo is.
# Controleren of een directory bestaat
$directoryPath = "C:\VoorbeeldMap"
$exists = Test-Path $directoryPath
Write-Output $exists # Geeft True of False terug
Voorbeelduitvoer:
True
of als de directory niet bestaat:
False
Je kunt het ook direct gebruiken in een if
-instructie:
# Test-Path gebruiken in een if-instructie
if (Test-Path $directoryPath) {
Write-Output "Ja, het is er."
} else {
Write-Output "Nee, kan het niet vinden."
}
Diepere Duik
De Test-Path
cmdlet is er al sinds PowerShell v1.0. Het is geen eendagsvlieg; naast directories kan het ook gebruikt worden voor het controleren van bestanden, registervermeldingen, en andere items via verschillende ‘paden’.
Er zijn alternatieven. PowerShell is gebouwd op het .NET Framework, dus je zou kunnen overstappen op .NET-methoden als je dat wilt:
[system.io.directory]::Exists($directoryPath)
Dit dient hetzelfde doel maar is de “lange route”. Waarom deze moeite, wanneer Test-Path
speciaal voor deze taak is gemaakt?
Wat implementatie betreft, is het controleren op een directory voordat operaties worden uitgevoerd best practice. Het gaat om voorspelbaarheid. Je zou toch ook geen dragrace beginnen met een lege tank? Dus je leest niet van of schrijft niet naar een niet-bestaande directory, evenzeer.
Zie Ook
Voor meer informatie, bekijk deze links: