Windows PowerShell'i kullanarak komut istemini nasıl değiştiririm?
Örneğin, varsayılan bilgi isteminde
PS C:\Documents and Settings\govendes\My Documents>
Bu dizeyi özelleştirmek istiyorum.
Yanıtlar:
İşlevi prompt
PowerShell profilinize ( notepad $PROFILE
) koyun , örneğin:
function prompt {"PS: $(get-date)>"}
veya renkli:
function prompt
{
Write-Host ("PS " + $(get-date) +">") -nonewline -foregroundcolor White
return " "
}
new-item -itemtype file -path $profile -force
Set-ExecutionPolicy RemoteSigned
.
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
, yalnızca mevcut kullanıcı için değişiklik yapmak istiyorsanız veya yönetici olarak çalıştıramıyorsanız.
Ocaso Protal'in cevabına yapılan bir yorumla ilgili olarak , Windows Server 2012 ve Windows 7 için (bir PowerShell penceresinde) aşağıdakiler gereklidir:
new-item -itemtype file -path $profile -force
notepad $PROFILE
Birden fazla kullanıcı adıyla çalıştırırsanız (örneğin, kendiniz + bir üretim girişi) aşağıdakileri bir uyarı olarak öneririm:
function Global:prompt {"PS [$Env:username]$PWD`n>"}
(Bunun için kredi David I. McIntosh'a gidiyor.)
Set-ExecutionPolicy RemoteSigned
.
Komut isteminde, güncel bir zaman damgasını ve ağ sürücüleri için çözümlenmiş sürücü harflerini seviyorum. Daha okunaklı olması için iki satıra yazdım ve biraz renklerle oynadım.
CMD ile bitirdim
PROMPT=$E[33m$D$T$H$H$H$S$E[37m$M$_$E[1m$P$G
PowerShell için şununla aynı sonucu aldım:
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 " "
}
Hangisi biraz daha okunabilir :-)
BTW:
powershell_ise.exe $PROFILE
(Aptal) Not Defteri yerine tercih ederim .Kendiniz yapmak istiyorsanız, Ocaso Protal'ın cevabı doğru yoldur. Ama benim gibi tembelseniz ve sadece sizin için bir şey yapmasını istiyorsanız, o zaman Luke Sampson'ın Pshazz paketini şiddetle tavsiye ederim .
Sadece ne kadar tembel olabileceğinizi göstermek için hızlı bir eğitim sağlayacağım.
scoop install pshazz
) ile Pshazz'ı yükleyinpshazz use msys
)Pshazz, bir JSON dosyasını yapılandırmak kadar basit olan kendi temalarınızı oluşturmanıza da olanak tanır. Ne kadar kolay olduğunu görmek için benimkine bakın!
Sadece kullandığım sürücü harfini göstermek için:
function prompt {(get-location).drive.name+"\...>"}
Sonra kullandığım yola dönmek için:
function prompt {"$pwd>"}
Warren Stevens'ın cevabının bu sürümü, Set-Location
ağ paylaşımları için yoldaki gürültülü "Microsoft.PowerShell.Core \ FileSystem" sorununu ortadan kaldırır .
function prompt {"PS [$Env:username@$Env:computername]$($PWD.ProviderPath)`n> "}
notepad $PROFILE
bir yönetici powershell isteminden Windows 7'de çalışmıyor