Saya menggunakan Powershell di Windows 7. Bagaimana mengkonfigurasi Powershell sehingga hanya menampilkan nama folder saat ini (bukan path lengkap) di prompt shell?
Misalnya, Alih-alih C:\folder\directory\name>
, saya mau name>
.
sumber
Saya menggunakan Powershell di Windows 7. Bagaimana mengkonfigurasi Powershell sehingga hanya menampilkan nama folder saat ini (bukan path lengkap) di prompt shell?
Misalnya, Alih-alih C:\folder\directory\name>
, saya mau name>
.
Anda harus menyesuaikan fungsi prompt di profil PowerShell Anda ( %userprofile%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
); mungkin kosong atau bahkan tidak ada jika Anda belum pernah memodifikasinya sebelumnya.
Buka profil Anda (misalnya, buka file yang disebutkan di atas atau saat di PowerShell, Notepad $profile
)
Tambahkan yang berikut ke profil Anda:
function prompt {
$p = Split-Path -leaf -path (Get-Location)
"$p> "
}
Simpan profil
Mulai ulang PowerShell
Opsional . Jika Anda mendapatkan pesan yang mengatakan Anda tidak diizinkan menjalankan skrip, maka Anda perlu menyalin / menempelkan baris ini di PowerShell:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
dan mulai kembali.
Kebijakan eksekusi Windows PowerShell memungkinkan Anda menentukan kondisi di mana Windows PowerShell memuat file konfigurasi dan menjalankan skrip.
Anda dapat menetapkan kebijakan eksekusi untuk komputer lokal, untuk pengguna saat ini, atau untuk sesi tertentu. Anda juga dapat menggunakan pengaturan Kebijakan Grup untuk menetapkan kebijakan eksekusi untuk komputer dan pengguna.
Sumber: Dokumentasi Microsoft
[System.IO.Directory]::GetCurrentDirectory()
tidak mewakili lokasi powershell saat ini, melainkan direktori proses proses, yang tidak selalu sama. Ganti denganGet-Location
GetCurrentDirectory
. Ingatlah bahwa PowerShell tidak selalu berarti sistem file. Dengan menggunakan registry snap-in, saya bisa menggunakancd hkcu:
dan sekarang prompt akan benar-benar mati.$PWD
alih-alih meneleponGet-Location
. Misalnyafunction prompt { (Split-Path -Leaf $pwd) + '> ' }
prompt
dalam file profil Anda. Itu hanya harus dalam ruang lingkup sesi global. Defaultnya tampak setara denganfunction prompt {"PS " + (Get-Location) + ">"}
, sementarafunction prompt {""}
memberikan yang sama denganfunction prompt {"PS>"}
. Gunakanfunction prompt {" `b"}
untuk mendapatkan prompt kosong (setidaknya secara visual ...).Sebagai catatan tambahan, saya tidak bisa melakukan perintah @ Synetech sampai saya pertama kali membuat $ profil.
Ketik
$profile
dan tekan enter. Ini akan menampilkan jalur profil yang mengandalkan PowerShell, bahkan jika itu tidak ada (tidak untuk saya). Path saya berbeda dari yang diposkan @Synetech di atas.Saya harus membuat folder WindowsPowerShell dan file Microsoft.PowerShell_profile.ps1.
catatan:
Jika Anda menggunakan posh-git (yang diinstal saat menggunakan desktop GitHub), skrip @ Synetech akan mengesampingkan prompt posh-git. Skrip prompt tambahan untuk posh-git di sini .
sumber
%userprofile%
meluas keC:\Users\[username]
$Env:userprofile
setara denganecho %userprofile%
Ubah prompt untuk menampilkan folder saat ini tanpa path lengkap dan lebih besar dari simbol di akhir:
Salah satu caranya adalah:
Atau:
Atau:
sumber
\\myserver\my\path
.Saya menemukan ini cukup mudah - menggabungkan jawaban @ Synetech dan info yang ditemukan di profil PowerShell . Karena saya seorang pemula untuk PS. Langkah saya (untuk vscode):
rekatkan
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser (pada prompt PS Anda, dari jawaban SuperUse)
muat ulang vscode
Jadi sebagian besar jawaban @ Synetech (terbalik) dengan sedikit untuk memulai dengan mudah - terutama langkah 2 membuatnya sangat mudah.
sumber
Baris tunggal di bawah ini berfungsi dengan baik untuk saya
(Dapatkan-Lokasi | Dapatkan-Barang). Nama
sumber