Erstellen eines Verzeichnisses mit Windows PowerShell
-
Verwenden des Namensraums
[System.IO]
zum Erstellen eines Verzeichnisses in PowerShell - Verwenden des Dateisystemobjekts zum Erstellen eines Verzeichnisses in PowerShell
-
Verwenden des
New-Item
-Cmdlets zum Erstellen eines Verzeichnisses in PowerShell -
Verwenden des Legacy-Befehls
md
zum Erstellen eines Verzeichnisses in PowerShell
In Windows PowerShell gibt es mehrere Möglichkeiten, Dateiverzeichnisse oder Ordner zu erstellen, die wir vollständig in unsere Skripts integrieren können. Dieser Artikel zeigt, wie Sie sie mit Windows PowerShell erstellen.
Verwenden des Namensraums [System.IO]
zum Erstellen eines Verzeichnisses in PowerShell
Die Verwendung der Directory .NET
Framework-Klasse aus dem Namensraum system.io
ist möglich. Um die Klasse Directory
zu verwenden, verwenden Sie die statische Methode CreateDirectory
und geben Sie einen Pfad zum Speicherort des neuen Ordners an.
Diese Technik wird hier gezeigt.
[System.IO.Directory]::CreateDirectory("C:\test\newfolder")
Wenn der obige Befehl ausgeführt wird, gibt er eine DirectoryInfo
-Klasse zurück. Wir empfehlen diesen Ansatz jedoch nicht unbedingt, aber er funktioniert derzeit und ist verfügbar.
Verwenden des Dateisystemobjekts zum Erstellen eines Verzeichnisses in PowerShell
Eine andere Möglichkeit, ein Verzeichnis zu erstellen, ist die Verwendung des Objekts Scripting.FileSystemObject
von Windows PowerShell.
Diese Methode ist dasselbe Objekt, das VBScript und andere Skriptsprachen verwendet haben, um mit dem Dateisystem zu arbeiten. Es ist schnell und relativ einfach zu bedienen.
Nachdem das Objekt erstellt wurde, macht Scripting.FileSystemObject
eine CreateFolder
-Methode verfügbar. Die Methode CreateFolder
akzeptiert eine Zeichenfolge, die den Pfad zum Erstellen des Ordners darstellt.
Nach der Ausführung enthält ein Objekt den Pfad und andere Informationen über das neu erstellte Verzeichnis.
$fso = New-Object -ComObject Scripting.FileSystemObject
$fso.CreateFolder('C:\test1')
Verwenden des New-Item
-Cmdlets zum Erstellen eines Verzeichnisses in PowerShell
Zum Erstellen von Verzeichnissen stehen auch die nativen Windows PowerShell-Befehle zur Verfügung. Eine Möglichkeit ist die Verwendung des Cmdlets New-Item
.
New-Item -Force -Path c:\test3 -ItemType Directory
Bei Verwendung überschreibt der Schalterparameter -Force
vorhandene Ordner, die bereits erstellt wurden. Stattdessen können wir mit dem Cmdlet Test-Path
prüfen, ob das Verzeichnis existiert.
Im folgenden Beispiel können wir einen Skriptblock erstellen, um zu prüfen, ob das Verzeichnis existiert. Wenn das Verzeichnis vorhanden ist, wird das Verzeichnis nicht erstellt.
Diese Syntax ist eine Möglichkeit, den Switch-Parameter -Force
zu umgehen.
$path = "C:\temp\NewFolder"
if(!(test-path $path))
{
New-Item -ItemType Directory -Path $path
}
Angenommen, wir vergleichen die Ausgabe dieses Befehls mit der Ausgabe des vorherigen .NET
-Befehls. Das Ergebnis ist dasselbe, da das Cmdlet New-Item
und der Befehl [System.IO.Directory]::CreateDirectory
ein DirectoryInfo
-Objekt zurückgeben.
Es ist auch möglich, den New-Item
-Befehl zu verkürzen, indem man den -Path
-Parameternamen weglässt und nur den vollständigen Pfad als Datentyp-String mit der ItemType
-Syntax liefert. Dieser überarbeitete Befehl wird hier gezeigt.
New-Item c:\test4 -ItemType directory
Einige mögen sich darüber beschweren, dass es einfacher war, ein Verzeichnis im altmodischen Befehlsinterpreter cmd zu erstellen, weil sie nur md
eingeben mussten – und die Eingabe von md
ist zweifellos einfacher als die Eingabe des Befehls New-Item
.
Verwenden des Legacy-Befehls md
zum Erstellen eines Verzeichnisses in PowerShell
Das vorherige Beispiel führt zur vierten Möglichkeit, ein Verzeichnis (Ordner) mit Windows PowerShell zu erstellen, indem die Funktion md
verwendet wird.
Der Vorteil der Verwendung des Befehls md
besteht darin, dass er schneller ist, da er bereits weiß, dass Sie ein Verzeichnis erstellen werden. Daher können Sie den Parameter ItemType
verlassen und direkt den vollständigen Pfad eingeben.
md c:\test5
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn