PowerShell-Ordner erstellen, falls nicht vorhanden

Powershell Ordner Erstellen Falls Nicht Vorhanden



Sie haben eine Reihe von Ordnern und möchten einen neuen erstellen, wissen aber nicht, ob dieser Ordner bereits existiert oder nicht? Dieser Vorgang kann viel Zeit in Anspruch nehmen, da Sie zunächst nach diesem Ordner suchen, unabhängig davon, ob er existiert oder nicht, und ihn dann erstellen, wenn er nicht existiert.

Überraschenderweise kann Ihnen PowerShell viel Zeit und Mühe ersparen, wenn Sie sich ein wenig mit Skripten auskennen.







Festhalten! Für diese Aufgabe müssen Sie nicht die gesamte Skripterstellung erlernen. Weil ich fünf Methoden zum Erstellen eines Ordners bereitgestellt habe, sofern dieser nicht vorhanden ist, mit einer ordnungsgemäßen Erklärung jedes darin verwendeten Befehls.



Kurzer Überblick:



Bevor wir zu Skripten übergehen, lernen wir, wie man prüft, ob ein Ordner existiert oder nicht, und dann eine Methode zum Erstellen eines Ordners in PowerShell.





Überprüfen Sie, ob der Ordner bereits in PowerShell vorhanden ist

Der Testpfad Mit dem Befehl wird überprüft, ob der Ordner bereits in PowerShell vorhanden ist. Um zu überprüfen, ob der Ordner existiert, wird der Ordnerpfad mit dem Befehl Test-Path angegeben -Weg Parameter. Im Gegenzug gibt der Test-Path-Befehl zurück WAHR Wert, falls vorhanden, und FALSCH wenn es nicht existiert.

Überprüfen wir beispielsweise, ob der angegebene Ordner vorhanden ist oder nicht Testpfad Befehl:



Testpfad -Weg „C:\Dokument“

Um die Existenz des Ordners zu überprüfen, geben Sie zunächst den an Testpfad Befehl und geben Sie den Ordnerpfad mit dem an -Weg Parameter:

Die Ausgabe ist FALSCH weil der angegebene Ordner nicht existiert.

Erstellen Sie einen neuen Ordner in PowerShell

Der Neuer Gegenstand Der Befehl erstellt einen neuen Ordner in PowerShell. Um ein Verzeichnis zu erstellen, geben Sie den Verzeichnispfad zum Befehl „New-Item“ mit an -Weg Parameter. Am wichtigsten ist, dass Sie die verwenden -Gegenstandsart Parameter zum Erstellen eines Ordners und zum Angeben des Verzeichnis Wert. Wenn Sie den Parameter „-ItemType“ und den Wert „Directory“ nicht angeben, erstellt der Befehl „New-Item“ eine Datei anstelle eines Ordners.

Erstellen wir zum Beispiel einen neuen Ordner mit Neuer Gegenstand Befehl in PowerShell:

Neuer Gegenstand -Weg „C:\Dokument“ -Gegenstandsart Verzeichnis

So erstellen Sie einen neuen Ordner:

  • Verwenden Sie zunächst die Neuer Gegenstand Befehl und geben Sie den Ordnerpfad an, der erstellt werden soll -Weg Parameter.
  • Geben Sie danach die an Verzeichnis Wert für die -Gegenstandsart Parameter, um die Konsole anzuweisen, einen Ordner anstelle einer Datei zu erstellen:

Der neue Ordner wurde erstellt und seine Erstellungszeit ist auch in der obigen Ausgabe sichtbar.

Erstellen Sie einen Ordner, falls dieser in PowerShell nicht vorhanden ist

Aus der Abfrage lässt sich erkennen, dass es sich um eine handeln wird ansonsten Szenario, das besagt, dass ein neuer Ordner erstellt werden soll, wenn der Ordner nicht vorhanden ist. Es gibt fünf Methoden zum Erstellen eines Ordners, wenn er in PowerShell nicht vorhanden ist, und jede Methode beinhaltet das If-Else-Bedingungsszenario.

Schnelle Lösung

Hier ist die schnelle Lösung zum Erstellen eines Ordners, falls dieser nicht in der PowerShell-Konsole vorhanden ist:

Wenn ( -nicht ( Testpfad -Weg „C:\NeuerOrdner“ ) ) { Neuer Gegenstand -Weg „C:\NeuerOrdner“ -Gegenstandsart Verzeichnis }

Das angegebene Verzeichnis existiert nicht und wird daher erstellt.

1. Erstellen Sie mit Test-Path einen Ordner, falls er in PowerShell nicht vorhanden ist

Der Testpfad Der Befehl prüft die Existenz des Ordners und teilt der Konsole mit, ob er existiert oder nicht. Die Befehle Test-Path und New-Item zusammen mit dem Ansonsten Bedingung hilft beim Erstellen eines Ordners, wenn dieser in PowerShell nicht vorhanden ist.

Sehen wir uns zum Beispiel diesen Code an, um mit dem Befehl „Test-Path“ einen Ordner zu erstellen, falls dieser noch nicht vorhanden ist:

Wenn ( Testpfad -Weg „C:\NeuerOrdner“ ) {

Schreib-Host „Angegebener Ordner existiert bereits“
}
anders
{
Neuer Gegenstand -Weg „C:\NeuerOrdner“ -Gegenstandsart Verzeichnis
}

Um einen Ordner mit zu erstellen Testpfad Und Neuer Gegenstand Befehl:

  • Zuerst haben wir eine erstellt Wenn Zustand, in dem wir das verwendet haben Testpfad Befehl und spezifizierte den Ordner mit dem -Weg um die Existenz von Ordnern zu überprüfen.
  • Wenn der angegebene Ordner vorhanden ist, wird die Nachricht mit dem angezeigt Schreib-Host Befehl, der besagt, dass der Ordner bereits existiert, und das Skript endet hier.
  • Andernfalls geht das Programm zum nächsten Abschnitt über.
  • In der else-Bedingung haben wir die verwendet Neuer Gegenstand Befehl und gab den zu erstellenden Ordnerpfad an.
  • Um die Konsole, die einen Ordner erstellt, klarer zu erklären, haben wir die verwendet -Gegenstandsart Eigenschaft und gab den Wert an Verzeichnis :

Ausgabe: Der Ordner existiert nicht und daher wird im angegebenen Verzeichnis ein neuer Ordner erstellt.

2. Erstellen Sie mit Get-Item einen Ordner, falls er in PowerShell nicht vorhanden ist

Der Get-Item Der Befehl ruft die Datei oder den Ordner vom angegebenen Speicherort ab. Der Befehl „Get-Item“ kann auch mithilfe der if-Bedingung die Existenz des Ordners überprüfen.

So können Sie mit dem Befehl „Get-Item“ einen Ordner erstellen, falls er in PowerShell nicht vorhanden ist:

Wenn ( Get-Item -Weg „C:\Dokument“ -ErrorAction Ignorieren ) {
Schreib-Host 'Die Datei existiert bereits'
}
anders {
Neuer Gegenstand - Ausführlich „C:\Dokument“ -Gegenstandsart Verzeichnis
}

Um einen Ordner zu erstellen, falls dieser noch nicht vorhanden ist, verwenden Sie den Get-Item Befehl:

  • Erstellen Sie zunächst eine Wenn Zustand, in dem die Verwendung erfolgt Get-Item Befehl und geben Sie den Ordnerpfad mit dem an -Weg Parameter, um zu prüfen, ob er bereits existiert oder nicht.
  • Nutzen Sie außerdem die -ErrorAction Parameter und geben Sie den an Ignorieren Wert, um Fehler zu ignorieren, die während der Codeausführung auftreten können.
  • Wenn der Ordner bereits vorhanden ist, zeigt die Konsole mit der Meldung an, dass der Ordner bereits vorhanden ist Schreib-Host Befehl.
  • Wenn der Ordner nicht vorhanden ist, wechselt das Programm in die Bedingung „else“, in der der neue Ordner erstellt wird.
  • Verwenden Sie in der else-Bedingung die Neuer Gegenstand Geben Sie den zu erstellenden Ordnerpfad an und verwenden Sie den Befehl -Gegenstandsart Parameter mit dem Wert Verzeichnis darauf angegeben.
  • Geben Sie daneben die an -ausführlich Parameter, um eine detailliertere Ausgabe zu erhalten:

Der Screenshot bestätigt, dass der angegebene Ordner nicht existiert und daher ein neuer Ordner erstellt wurde.

3. Erstellen Sie mit Get-ChildItem einen Ordner, falls er in PowerShell nicht vorhanden ist

Der Get-ChildItem Der Befehl ruft die Dateien oder Ordner aus dem angegebenen Verzeichnis ab. Es kann mit dem Befehl „New-Item“ und der Bedingung „If-else“ verwendet werden, um einen Ordner zu erstellen, falls er in PowerShell nicht vorhanden ist.

Hier ist der Beispielcode zum Erstellen eines Ordners, falls dieser nicht vorhanden ist, mithilfe des Befehls „Get-ChildItem“:

Wenn ( Get-ChildItem -Weg „C:\Dokument“ -ErrorAction Ignorieren )
{
Schreib-Host „Ordner existiert bereits“
}
anders
{
Neuer Gegenstand „C:\Dokument“ -Gegenstandsart Verzeichnis
}

Notiz: Die Codeerklärung für das obige Snippet ist dieselbe wie für Get-Item Befehl außer dem Get-ChildItem Befehl:

Der angegebene Ordner existiert nicht und daher wurde ein neuer Ordner erstellt.

4. Erstellen Sie mithilfe von Test-Path und Mkdir einen Ordner, falls dieser nicht in PowerShell vorhanden ist

Der mkdir Der Befehl erstellt einen Ordner in PowerShell. Es hat einen Alias md , der auch genauso funktioniert wie der Mkdir-Befehl. Dieser Befehl kann mit der Kombination aus dem Befehl „Test-Path“ und der Bedingung „if-else“ auch einen Ordner erstellen, falls dieser noch nicht vorhanden ist.

Hier ist das Beispiel für die Erstellung eines Ordners, falls er in PowerShell nicht vorhanden ist, mit dem Befehl „md“ und „Test-Path“:

Wenn ( Testpfad -Weg „C:\Ordner“ ) {

Schreib-Host „Ordner existiert bereits“
}
anders
{
md „C:\Ordner“
}

So erstellen Sie einen Ordner, wenn dieser nicht vorhanden ist:

  • Erstellen Sie zunächst die Wenn Bedingung und geben Sie die an Testpfad Geben Sie den Befehl zusammen mit dem Ordner ein, um zu überprüfen, ob er existiert oder nicht.
  • Wenn der Ordner vorhanden ist, beenden Sie den Code hier und drucken Sie den bereits vorhandenen Ordner aus.
  • Andernfalls erstellen Sie einen Ordner mit md Befehl durch Angabe des Ordnernamens und Pfads:

Die Ausgabe zeigt, dass der Ordner nicht existiert und daher ein neuer Ordner erstellt wurde.

5. Erstellen Sie mit [System.IO.File]::Exists() einen Ordner, falls er in PowerShell nicht vorhanden ist.

Der [System.IO.File]::Exists() Der Befehl prüft, ob der angegebene Ordner existiert oder nicht. Mit der Kombination aus der if-else-Bedingung und dem Befehl „New-Item“ kann der Ordner in PowerShell erstellt werden, falls er noch nicht vorhanden ist.

So können Sie mit dem Befehl [System.IO.File]::Exists() einen Ordner erstellen, wenn er in PowerShell nicht vorhanden ist:

Wenn ( [ System.IO.Directory ] ::Existiert ( „C:\Dokumente“ ) )
{
Schreib-Host „Ordner existiert bereits“
}
anders
{
Neuer Gegenstand „C:\Dokumente“ -Gegenstandsart Verzeichnis
}

Im obigen Code:

  • Erstellen Sie zunächst eine Wenn Bedingung und geben Sie die an [System.IO.Directory]::Exists(Folder-Path) Befehl darin, um zu überprüfen, ob dieser Ordner existiert oder nicht.
  • Wenn das Verzeichnis gefunden wird, gibt die Konsole aus, dass der Ordner vorhanden ist.
  • Andernfalls wird dieser Ordner mithilfe von erstellt Neuer Gegenstand Befehl:

Der angegebene Ordner existiert nicht und dann wird mit dem Befehl „New-Item“ ein neuer Ordner erstellt.

Bonus-Tipp: Erstellen Sie einen Ordner, wenn dieser bereits in PowerShell vorhanden ist

Der -Gewalt Parameter mit dem Neuer Gegenstand Der Befehl wird verwendet, um einen vorhandenen Ordner in PowerShell zu überschreiben. Der Parameter -Force überschreibt ein vorhandenes Element im angegebenen Pfad in PowerShell. Um einen Ordner zu erstellen, wenn dieser bereits vorhanden ist, fügen Sie einfach den Parameter -Force zusammen mit dem Befehl New-Item hinzu.

So können Sie einen bestehenden Ordner überschreiben:

Neuer Gegenstand -Weg „C:\Dokument“ -Gegenstandsart Verzeichnis -Gewalt

So erstellen Sie einen Ordner, wenn dieser bereits in PowerShell vorhanden ist:

  • Verwenden Sie zunächst den Befehl „New-Item“ und geben Sie mit dem Parameter „-path“ den zu erstellenden Ordner an.
  • Verwenden Sie dann den Parameter -ItemType und geben Sie den Wert an, um die Konsole anzuweisen, einen Ordner zu erstellen.
  • Um schließlich einen vorhandenen Ordner zu überschreiben, verwenden Sie den Parameter -Force:

Der Ordner wurde im angegebenen Pfad erfolgreich überschrieben.

Abschluss

Um einen Ordner zu erstellen, falls dieser noch nicht vorhanden ist, überprüfen Sie zunächst die Existenz des Ordners mithilfe von Testpfad Befehl. Dann verwenden Sie die Neuer Gegenstand Befehl zum Erstellen eines Ordners, falls dieser nicht vorhanden ist. Um diesen Vorgang auf einmal auszuführen, müssen Sie Folgendes verwenden ansonsten Bedingung zusammen mit dem Test-Path-Befehl und dem New-Item-Befehl, die ich bereits in Methode 1 in diesem Artikel demonstriert habe.