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 terugVoorbeelduitvoer:
Trueof als de directory niet bestaat:
FalseJe 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: