Powershell – Ordner erstellen, wenn dieser noch nicht vorhanden ist

Wer wie ich bereits seit unzähligen Jahren mit Skripten arbeitet, kennt sicherlich die Anforderung, zu  überprüfen, ob ein bestimmter Ordner bereits existiert. Das ist besonders wichtig, wenn nachfolgende Befehle Dateien in einen Ordner schreiben, der vorher bereits vorhanden sein muss (beispielsweise beim „move“ Befehl). Natürlich funktioniert das auch mit der Windows PowerShell, nur eben ein wenig anders.



Per PowerShell Ordner erstellen, falls nicht vorhanden

Der für Batchdateien (.bat, .cmd) funktionierende Befehl „if not exist $path md $path“ ist in PowerShell Skripten nicht mehr gültig. Die Vorgehensweise ist von der Logik aber ähnlich:

$PATH = "C:\Temp\Test"
if (!(Test-Path $PATH)) {New-Item -Path $PATH -ItemType Directory}

Was passiert genau in diesem kleinen Skript? Zunächst wird der zu prüfende Ordner in die Variable „$path“ gespeichert. Anschließend wird geprüft, ob der in der Variable $PATH gespeicherte Ordner bereits vorhanden ist (Test-Path). Ist das Ergebnis negativ (!), wird mittels des CMDLETS „New-Item“ ein neues Objekt vom Typ „Directory“ erstellt.

Existiert der Ordner bereits, passiert gar nichts. Schauen wir uns das ganze in einer PowerShell Konsole an, sieht das Ganze dann so aus:

Per PowerShell einen Ordner erstellen, wenn dieser nicht vorhanden ist
Das PowerShell Pendant zum DOS-Befehl „if not exist <Ordner>“.

Mit diesem kleinen Skript kannst Du nun per PowerShell vorab prüfen, ob bestimmte Ordner bereits vorhanden sind. Und diese bei Bedarf direkt erstellen. Weitere Infos zu dem CMDLET New-Item findest Du unter in der PowerShell Dokumentation. Damit lassen sich nicht nur Ordner erstellen, sondern auch Dateien.

Ebenfalls interessant:

Dieser Artikel ist wie alle anderen auf dieser Seite kostenlos für Dich und ich hoffe, ich konnte Dir weiterhelfen. Wer möchte, kann diesem Blog eine kleine Aufmerksamkeit in Form einer kleinen Spende (PayPal) oder über die Amazon Wunschliste zukommen lassen.

Schreibe einen Kommentar