Ändern des Arbeitsverzeichnisses in PowerShell

Ändern des Arbeitsverzeichnisses in PowerShell

Viele standardmäßige Eingabeaufforderungsbefehle (CMD) funktionieren in der Windows PowerShell-Umgebung. Die PowerShell-Umgebung überträgt diese Befehle von den grundlegendsten Befehlen wie ping zu den am häufigsten verwendeten Befehlen wie ipconfig aus der Legacy-Umgebung unter Verwendung von Aliasen.

Ein Beispiel für einen CMD-Befehl, der immer noch mit Windows PowerShell funktioniert, ist der Befehl zum Ändern des Verzeichnisses oder cd und chdir.

Obwohl wir die Legacy-Befehle cd und chdir in Windows PowerShell verwenden können, ist es besser, in bestimmten Situationen das PowerShell-Cmdlet Set-Location zu verwenden, um den Code richtig und sauberer zu erstellen.

Verwenden des Cmdlet Set-Location zum Ändern des Arbeitsverzeichnisses in PowerShell

Das Cmdlet Set-Location setzt das Arbeitsverzeichnis auf ähnliche Weise auf einen bestimmten Ort, wie sein älteres Gegenstück cd und chdir. Der geringfügige Unterschied dieses Cmdlets zu den älteren Befehlen besteht darin, dass das Cmdlet Set-Location praktischerweise sowohl das Arbeitslaufwerk als auch das Verzeichnis gleichzeitig ändert, was CMD.EXE nicht kann.

Wenn wir unser Arbeitsverzeichnis in der Eingabeaufforderung auf ein anderes Laufwerk ändern müssen, müssen wir trotzdem zuerst den <Laufwerksbuchstaben>: eingeben und dann unsere Befehle cd und chdir auslösen, um den Pfad des Arbeitsverzeichnisses zu ändern.

Eingabeaufforderung:

C:\> cd C:\Temp
C:\Temp> cd D:\Docs
C:\Temp>
#To change the working drive, type the drive letter
C:\Temp> D:
D:\>

Power Shell:

PS C:\> Set-Location C:\Temp
PS C:\Temp> Set-Location D:\Docs
PS D:\Docs>

Das Cmdlet Set-Location unterscheidet sich auch durch zusätzliche Parameter von seinem Legacy-Befehl.

Hier sind einige Beispiele unten.

Set-Location -Path C:\Temp

Im obigen Beispiel-Snippet gibt der Parameter -Path das neue Arbeitsverzeichnis unserer Skriptumgebung an. Wenn Ihr Pfad jedoch Leerzeichen enthält, denken Sie daran, diese in einfache ('') oder doppelte ("") Anführungszeichen einzuschließen.

Set-Location -Path "C:\Temp\Temporary Documents"

Ein weiterer hilfreicher Parameter innerhalb des Cmdlets Set-Location ist der Parameter -PassThru. Dieser Parameter gibt das neue Arbeitsverzeichnis zurück, das wir verwenden können, um den zurückgegebenen Wert in einer Variablen zu speichern.

Beispielcode:

$newDir = Set-Location -Path C:\Temp -PassThru
Write-Output $newDir.path

Ausgabe:

C:\Temp

Sie können auch nur auf die vollständige Eigenschaftenliste des Cmdlets Set-Location zugreifen, wenn Sie nur den Parameter -PassThru haben.

Beispielcode:

Set-Location -Path G: -PassThru | fl *

Ausgabe:

Drive        : G
Provider     : Microsoft.PowerShell.Core\FileSystem
ProviderPath : G:\
Path         : G:\

Schließlich verwendet Windows PowerShell neben cd und chdir auch sl als weiteren Alias ​​für Set-Location. Sie können dies für einen schnelleren und reibungsloseren Skripting-Ansatz verwenden.

sl -Path C:\Temp
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Verwandter Artikel - PowerShell Directory