Bagaimana seseorang dapat menampilkan direktori saat ini di PowerShell?

22

Saya ingin agar direktori kerja saat ini ditampilkan pada baris perintah powershell, seperti yang akan dilakukan pada prompt CMD (misalnya). Bagaimana saya bisa melakukannya?

Billy ONeal
sumber

Jawaban:

22

Lihat ini: http://mshforfun.blogspot.com/2006/05/perfect-prompt-for-windows-powershell.html

Pada dasarnya, Anda dapat membuat file 'profil' bernama Microsoft.PowerShell_profile.ps1 yang akan berjalan setiap kali Anda mulai menjalankan PowerShell.

Bergantung pada siapa Anda ingin menjalankannya, ada beberapa folder tempat Anda dapat meletakkan file ini (dijelaskan di tautan di atas). Jika hanya untuk Anda sendiri, Anda dapat membuat folder bernama WindowsPowerShell di folder My Documents Anda, dan meletakkannya di sana.

Jika Anda meletakkan fungsi ini di file itu:

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

Ini akan membuat prompt Anda terlihat seperti ini:

PS C:\directory\path\here>

Ada banyak hal lain yang dapat Anda masukkan ke dalamnya, tetapi itulah dasar-dasarnya.

CATATAN: sebelum Anda dapat menggunakan skrip profil, Anda harus menjalankan "set-executpolicy remotesigned" dari PowerShell - ini memungkinkan Anda untuk menjalankan skrip yang tidak ditandatangani yang ditulis secara lokal di komputer dan skrip yang ditandatangani dari yang lain.

bfhd
sumber
Tampaknya tidak berfungsi untuk tambahan Visual Studio :( Oh well.
Billy ONeal
@BillyONeal: Periksa nilai $profile.CurrentUserCurrentHostdan $profile.CurrentUserCurrentHostuntuk melihat skrip profil (pengguna) apa yang valid. Host yang berbeda (mis. VS vs. ISE) memiliki nilai yang berbeda untuk$profile.CurrentUserCurrentHost
Richard
9

Sederhana, tambahkan berikut ini ke profile.ps1file Anda (di bawah folder My Documents \ WindowsPowerShell ):

function prompt {"$ pwd>"}
John T
sumber
6

Coba yang berikut ini:

$CurrentDir = $(get-location).Path;
Jitendra
sumber
kode di atas juga merupakan cara untuk mendapatkan lokasi.
Narottam Goyal
2

Saat ini, ini berfungsi dengan baik:

echo "$PWD"

yang bekerja berbeda dari

echo $PWD

Hanya saja jangan lupa tanda kutip :) Contoh output di bawah ini.

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
sumber
0
(Get-Item -Path ".\").FullName
Luis Gouveia
sumber