Jak można wyświetlić bieżący katalog w PowerShell?

22

Chciałbym, aby bieżący katalog roboczy był wyświetlany w wierszu polecenia programu PowerShell, tak jak byłoby to w przypadku (na przykład) monitu CMD. Jak mogę to zrobić?

Billy ONeal
źródło

Odpowiedzi:

22

Sprawdź to: http://mshforfun.blogspot.com/2006/05/perfect-prompt-for-windows-powershell.html

Zasadniczo możesz utworzyć plik „profilu” o nazwie Microsoft.PowerShell_profile.ps1, który będzie uruchamiany przy każdym uruchomieniu programu PowerShell.

W zależności od tego, dla kogo ma być uruchamiany, istnieje kilka folderów, w których można umieścić ten plik (wyjaśniono w linku powyżej). Jeśli jest to tylko dla ciebie, możesz utworzyć folder o nazwie WindowsPowerShell w folderze Moje dokumenty i tam go umieścić.

Jeśli umieścisz tę funkcję w tym pliku:

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

Sprawi, że twój monit będzie wyglądał następująco:

PS C:\directory\path\here>

Można włożyć wiele innych rzeczy, ale to są podstawy.

UWAGA: zanim będzie można użyć skryptu profilu, należy uruchomić polecenie „set-wykonaniapolicy remotesigned” z programu PowerShell - pozwoli to na uruchamianie niepodpisanych skryptów napisanych lokalnie na komputerze i podpisanych skryptów innych osób.

bfhd
źródło
Wygląda na to, że nie działa z dodatkiem do Visual Studio :( No cóż.
Billy ONeal 26.01.11
@BillyONeal: Sprawdź wartość $profile.CurrentUserCurrentHosti $profile.CurrentUserCurrentHostsprawdź, jakie skrypty profilowe (użytkownika) są prawidłowe. Różni gospodarze (np. VS vs. ISE) mają inną wartość$profile.CurrentUserCurrentHost
Richard
9

Proste: dodaj do profile.ps1pliku następujące elementy (w folderze Moje dokumenty \ WindowsPowerShell ):

monit funkcji {"$ pwd>"}
John T.
źródło
6

Spróbuj wykonać następujące czynności:

$CurrentDir = $(get-location).Path;
Jitendra
źródło
powyższy kod jest również sposobem na uzyskanie lokalizacji.
Narottam Goyal,
2

Obecnie działa to dobrze:

echo "$PWD"

który działa inaczej niż

echo $PWD

Po prostu nie zapomnij o cudzysłowach :) Przykładowe dane wyjściowe poniżej.

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
źródło
0
(Get-Item -Path ".\").FullName
Luis Gouveia
źródło