Jak za pomocą programu Windows PowerShell zmienić wiersz polecenia?
Na przykład domyślny monit mówi
PS C:\Documents and Settings\govendes\My Documents>
Chcę dostosować ten ciąg.
windows
powershell
sashang
źródło
źródło
notepad $PROFILE
nie działa w systemie Windows 7 z wiersza polecenia administratora programu PowerShellnew-item -itemtype file -path $profile -force
Set-ExecutionPolicy RemoteSigned
.Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
jeśli chcesz zmienić tylko dla bieżącego użytkownika lub nie możesz działać jako administrator.W związku z komentarzem do odpowiedzi Ocaso Protal , potrzebne są następujące elementy dla systemu Windows Server 2012, a także Windows 7 (w oknie PowerShell):
new-item -itemtype file -path $profile -force notepad $PROFILE
Sugerowałbym następujące podpowiedź, jeśli uruchamiasz z wieloma nazwami użytkowników (np. Ty + login produkcyjny):
function Global:prompt {"PS [$Env:username]$PWD`n>"}
(To zasługa Davida I. McIntosha).
źródło
Set-ExecutionPolicy RemoteSigned
.Po monicie podoba mi się aktualna sygnatura czasowa i rozwiązane litery dysków dla dysków sieciowych. Aby było bardziej czytelne, umieściłem to w dwóch wierszach i trochę pobawiłem się kolorami.
Z CMD skończyłem z
PROMPT=$E[33m$D$T$H$H$H$S$E[37m$M$_$E[1m$P$G
W przypadku PowerShell otrzymałem ten sam wynik z:
function prompt { $dateTime = get-date -Format "dd.MM.yyyy HH:mm:ss" $currentDirectory = $(Get-Location) $UncRoot = $currentDirectory.Drive.DisplayRoot write-host "$dateTime" -NoNewline -ForegroundColor White write-host " $UncRoot" -ForegroundColor Gray # Convert-Path needed for pure UNC-locations write-host "PS $(Convert-Path $currentDirectory)>" -NoNewline -ForegroundColor Yellow return " " }
Co jest trochę bardziej czytelne :-)
BTW:
powershell_ise.exe $PROFILE
zamiast (głupiego) Notatnika .źródło
Jeśli chcesz to zrobić sam, odpowiedz Ocaso Protal jest do zrobienia. Ale jeśli jesteś leniwy jak ja i po prostu chcesz coś zrobić za Ciebie, to bardzo polecam pakiet Pshazz Luke'a Sampsona .
Aby pokazać, jak bardzo możesz być leniwy, przedstawię krótki samouczek.
scoop install pshazz
)pshazz use msys
)Pshazz umożliwia również tworzenie własnych motywów, co jest tak proste, jak konfiguracja pliku JSON. Zajrzyj do mojego, aby zobaczyć, jakie to proste!
źródło
Aby pokazać tylko literę dysku, której używam:
function prompt {(get-location).drive.name+"\...>"}
Następnie, aby powrócić do ścieżki, której używam:
function prompt {"$pwd>"}
źródło
Ta wersja odpowiedzi Warrena Stevensa pozwala uniknąć hałaśliwego „Microsoft.PowerShell.Core \ FileSystem” na ścieżce dostępu
Set-Location
do udziałów sieciowych.function prompt {"PS [$Env:username@$Env:computername]$($PWD.ProviderPath)`n> "}
źródło