Per PowerShell prüfen, ob die Datei schon vorhanden ist

Per PowerShell prüfen, ob die Datei schon vorhanden ist

Grundlegendes

Oft ist es beim Script erstellen, wichtig zu prüfen, ob eine bestimmte Datei oder ein bestimmtes Verzeichnis bereits existiert. Man denke hier z. B. an das Erstellen eines Backups mit dessen Logfile und Sicherungsordner.

Hat man beim Batch Scripting noch den Ausdruck „if exist“ verwendet, so geht das heutzutage mit der Windows PowerShell wesentlich einfacher. Diese bietet nämlich hierfür direkt ein Cmdlet mit dem Namen Test-Path an.

Video: Verzeichnisse mit der PowerShell auflisten

Sie sehen gerade einen Platzhalterinhalt von Standard. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf den Button unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.

Weitere Informationen
Arbeiten mit Dateien und Verzeichnisse mit der PowerShell

Einfache Dateiprüfung vornehmen

Wenn man nun einfach prüfen möchte, ob z.B. die Datei logfile.txt bereits vorhanden ist, so wird folgende Befehlssequenz benötigt.

test-path -Path C:\Users\Markus\Documents\logfile.txt

Prüfung auf bestimmte Dateiarten

Nun liefert das Cmdlet beim vorhanden sein der Datei den Wert TRUE zurück und andernfalls den Wert FALSE. Im Prinzip lässt sich hier nicht nur eine einzelne Datei abfragen, sondern es könnte auch die Wildcard (*) verwendet werden, um spezielle Dateitypen abzufragen. Das Beispiel zeigt, wie geprüft wird ob *.pdf Dateien vorhanden sind.

test-path -Path C:\Users\Markus\Documents* -Include *.pdf

Prüfung und direkt weiterverarbeiten

Weiterhin könnte man mittels einer IF-Bedingung die Existenz prüfen und anschließend die Daten direkt weiterverarbeiten. Somit würde man im Falles eines nicht Vorhandensein der Datei direkt Fehler vermeiden. Dieses Beispiel prüft als erstes, ob die Datei vorhanden ist. Falls dem so ist, wird direkt anschließend mit Get-Content der Inhalt der Datei ausgegeben.

if(Test-Path C:\Users\Markus\Documents\logfile.txt) {Get-Content C:\Users\Markus\Documents\logfile.txt}

Prüfung, ob ein Verzeichnis existiert

Die Überprüfung, ob ein bestimmtes Verzeichnis vorhanden ist, lässt sich genauso vornehmen, wie bei einzelnen Dateien. Man gibt hier dann direkt den Verzeichnisnamen an. Auch Wildcards können verwendet werden.

13a563d0cff148f09b33c4fd8291197d

Das könnte dich auch interessieren:

Der Blogbetreiber und Autor: Markus Elsberger

Über den Autor

Mein Name ist Markus Elsberger und ich beschäftige mich mit der Administration von Windows und Linux Systemen sowie mit diversen Themen bzgl. Netzwerktechnik. In meiner Lehrtätigkeit erstelle ich verschiedene Szenarien und teste auch verschiedene Konfigurationen, welche ich in diesem Blog festhalten möchte.


Kostenlose Befehlsreferenzen und E-Books
(Netzwerkanalyse, Benutzerverwaltung, Festplattenkonfiguration, u. v. m.)


Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Ebook - 10 Schritte nach der Windows Installation

Kostenlose Befehlsreferenzen und

E-Books

FREE

Netzwerkanalyse, Benutzerverwaltung, Festplattenkonfiguration, u. v. m.