Yanıtlar:
PowerShell profilinizde bilgi istemi işlevini özelleştirmek zorundasınız ( %userprofile%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
); daha önce hiç değiştirmediyseniz boş veya hatta olmayabilir.
Profilinizi açın (örneğin, yukarıda belirtilen dosyayı açın veya PowerShell'deyken Notepad $profile
)
Aşağıdakileri profilinize ekleyin:
function prompt {
$p = Split-Path -leaf -path (Get-Location)
"$p> "
}
Profili kaydet
PowerShell'i yeniden başlatın
İsteğe bağlı . Komut dosyalarını çalıştırmanıza izin verilmediğini bildiren bir ileti alırsanız, bu satırı PowerShell'de kopyala / yapıştırmanız gerekir:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
ve yeniden başlatın.
Windows PowerShell yürütme ilkeleri, Windows PowerShell'in yapılandırma dosyalarını yüklediği ve komut dosyalarını çalıştırdığı koşulları belirlemenizi sağlar.
Yerel bilgisayar, geçerli kullanıcı veya belirli bir oturum için bir yürütme politikası belirleyebilirsiniz. Bilgisayarlar ve kullanıcılar için yürütme ilkesini ayarlamak için bir Grup İlkesi ayarı da kullanabilirsiniz.
Kaynak: Microsoft Belgeleri
GetCurrentDirectory
. PowerShell’in her zaman dosya sistemi anlamına gelmediğini unutmayın. Kayıt defteri ek bileşenini kullanarak kullanabilirim cd hkcu:
ve şimdi istemi tamamen kapalı olacaktır.
$PWD
Aramak yerine de kullanabilirsiniz Get-Location
. Örneğinfunction prompt { (Split-Path -Leaf $pwd) + '> ' }
prompt
Profil dosyasında tanımlamak zorunda değilsin . Sadece küresel oturum kapsamında olması gerekiyor. Varsayılan eşdeğer görünüyor function prompt {"PS " + (Get-Location) + ">"}
ederken, function prompt {""}
aynı verir function prompt {"PS>"}
. function prompt {" `b"}
Boş bir bilgi istemi almak için kullanın (en azından görsel olarak ...).
Ek bir not olarak, $ profilini ilk oluşturana kadar @ Synetech'in komutunu yapamadım.
Yazın $profile
ve isabet girin. Bu PowerShell'in kullandığı profil yolunu gösterecektir (olmasa bile). Yolum, @ Synetech'in yukarıda yayınlananlardan farklıydı.
>$profile
C:\Users\[username]\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
Hem WindowsPowerShell klasörü hem de Microsoft.PowerShell_profile.ps1 dosyasını oluşturmak zorunda kaldım.
Not:
Posh-git kullanıyorsanız (GitHub masaüstünü kullanırken yüklenir), @ Synetech'in betiği posh-git komutunu geçersiz kılar. Burada posh-git için ek komut dosyaları .
%userprofile%
genişlerC:\Users\[username]
$Env:userprofile
eşittirecho %userprofile%
Geçerli klasörü tam yolsuz ve sonunda sembolden büyük göstermek için istemi değiştirin:
Bir yol olabilir:
Function Prompt { "$( ( get-item $pwd ).Name )>" }
Veya:
Function Prompt { "$( Split-Path -leaf -path (Get-Location) )>" }
Veya:
Function Prompt { "$( ( Get-Location | Get-Item ).Name )>" }
\\myserver\my\path
.
Bunun oldukça kolay olduğunu gördüm - @ Synetech'in cevabını ve PowerShell profillerinde bulunan bilgileri birleştirerek . Çünkü ben PS’e yeni başlayan biriyim. Adımlarım (vscode için):
yapıştır
function prompt {
$p = Split-Path -leaf -path (Get-Location)
"$p> "
}
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser (PS isteminizde, SuperUse yanıtından)
vscode yeniden yükle
Çoğunlukla @ Synetech'in kolayca başlayabilmesi için biraz yanıt verdiği yanıt (yükseltilmiş) - özellikle 2. adım bunu çok kolaylaştırıyor.
Aşağıdaki tek satır benim için iyi çalışıyor
(Get-Location | Get-Öğe) .Adı
[System.IO.Directory]::GetCurrentDirectory()
powershell'in şu anki yerini değil, her zaman aynı olmayan süreç çalışma dizinini temsil etmiyor.Get-Location