Wie kann man das aktuelle Verzeichnis in PowerShell anzeigen?

22

Ich möchte, dass das aktuelle Arbeitsverzeichnis in der Powershell-Befehlszeile angezeigt wird, wie dies beispielsweise in einer CMD-Eingabeaufforderung geschehen würde. Wie kann ich das machen?

Billy ONeal
quelle

Antworten:

22

Überprüfen Sie dies: http://mshforfun.blogspot.com/2006/05/perfect-prompt-for-windows-powershell.html

Grundsätzlich können Sie eine Profildatei mit dem Namen Microsoft.PowerShell_profile.ps1 erstellen, die bei jedem Start von Powershell ausgeführt wird.

Abhängig davon, für wen Sie es ausführen möchten, können Sie diese Datei in verschiedenen Ordnern ablegen (siehe Link oben). Wenn es nur für Sie ist, können Sie einen Ordner mit dem Namen WindowsPowerShell in Ihrem Ordner Eigene Dateien erstellen und dort ablegen.

Wenn Sie diese Funktion in diese Datei einfügen:

function prompt
{
    "PS " + $(get-location) + "> "
}

Dadurch sieht Ihre Eingabeaufforderung folgendermaßen aus:

PS C:\directory\path\here>

Es gibt noch eine ganze Menge anderer Dinge, die Sie einbauen können, aber das sind die Grundlagen.

HINWEIS: Bevor Sie das Profilskript verwenden können, müssen Sie "set-executionpolicy remotesigned" in der PowerShell ausführen. Auf diese Weise können Sie lokal auf dem Computer geschriebene und signierte Skripts von anderen ausführen.

bfhd
quelle
Scheint nicht für das Add-In von Visual Studio zu funktionieren :( Na
ja
@BillyONeal: Überprüfen Sie den Wert von $profile.CurrentUserCurrentHostund um $profile.CurrentUserCurrentHostzu sehen, welche (Benutzer-) Profilskripte gültig sind. Unterschiedliche Hosts (zB VS vs. ISE) haben einen unterschiedlichen Wert für$profile.CurrentUserCurrentHost
Richard
8

Fügen Sie Ihrer profile.ps1Datei einfach Folgendes hinzu (im Ordner Eigene Dateien \ WindowsPowerShell ):

Funktionsaufforderung {"$ pwd>"}
John T
quelle
6

Versuche Folgendes:

$CurrentDir = $(get-location).Path;
Jitendra
quelle
Mit dem obigen Code können Sie auch den Standort ermitteln.
Narottam Goyal
2

Heutzutage funktioniert das gut:

echo "$PWD"

was anders funktioniert als

echo $PWD

Vergessen Sie einfach nicht die Anführungszeichen :) Beispielausgabe unten.

PS C:\Users\user name> echo $PWD

Path
----
C:\Users\user name


PS C:\Users\user name> echo "$PWD"
C:\Users\user name
PS C:\Users\user name>
kayleeFrye_onDeck
quelle
0
(Get-Item -Path ".\").FullName
Luis Gouveia
quelle