หนึ่งจะแสดงไดเรกทอรีปัจจุบันใน PowerShell ได้อย่างไร


22

ฉันต้องการให้ไดเรกทอรีการทำงานปัจจุบันแสดงบนบรรทัดคำสั่ง powershell ตามที่จะทำได้ในพร้อมท์ (ตัวอย่าง) CMD ฉันจะทำเช่นนั้นได้อย่างไร

คำตอบ:


22

ลองใช้งานได้ที่: http://mshforfun.blogspot.com/2006/05/perfect-prompt-for-windows-powershell.html

โดยทั่วไปคุณสามารถสร้างไฟล์ 'โปรไฟล์' ชื่อ Microsoft.PowerShell_profile.ps1 ซึ่งจะทำงานทุกครั้งที่คุณเริ่ม PowerShell

มีหลายโฟลเดอร์ที่คุณสามารถใส่ไฟล์นี้ (อธิบายไว้ในลิงค์ด้านบน) ทั้งนี้ขึ้นอยู่กับบุคคลที่คุณต้องการให้เรียกใช้ หากเป็นเพียงสำหรับตัวคุณเองคุณสามารถสร้างโฟลเดอร์ที่ชื่อว่า WindowsPowerShell ในโฟลเดอร์ My Documents ของคุณและวางไว้ที่นั่น

หากคุณใส่ฟังก์ชั่นนี้ในไฟล์:

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

มันจะทำให้ข้อความแจ้งของคุณเป็นดังนี้:

PS C:\directory\path\here>

มีสิ่งอื่นอีกมากมายที่คุณสามารถใส่เข้าไปได้ แต่นั่นเป็นพื้นฐาน

หมายเหตุ: ก่อนที่คุณจะสามารถใช้สคริปต์โปรไฟล์คุณจะต้องเรียกใช้ "set-executionpolicy remotesigned" จาก PowerShell - สิ่งนี้จะช่วยให้คุณสามารถเรียกใช้สคริปต์ที่ไม่ได้ลงนามซึ่งเขียนไว้ในคอมพิวเตอร์และสคริปต์ที่ลงนามจากผู้อื่น


ดูเหมือนจะใช้งานไม่ได้กับ Add-in ของ Visual Studio: (ทำได้ดีมาก
Billy ONeal

@BillyONeal: ตรวจสอบค่า$profile.CurrentUserCurrentHostและ$profile.CurrentUserCurrentHostเพื่อดูว่า (โปรไฟล์) สคริปต์โปรไฟล์ใดที่ถูกต้อง โฮสต์ที่แตกต่างกัน (เช่น VS กับ ISE) มีค่าแตกต่างกันสำหรับ$profile.CurrentUserCurrentHost
Richard

9

ง่าย ๆ เพิ่มสิ่งต่อไปนี้ลงในprofile.ps1ไฟล์ของคุณ(ภายใต้โฟลเดอร์My Documents \ WindowsPowerShell ):

ฟังก์ชั่นพรอมต์ {"$ pwd>"}


2

ทุกวันนี้มันใช้งานได้ดี:

echo "$PWD"

ซึ่งทำงานแตกต่างจาก

echo $PWD

อย่าลืมคำพูด :) ตัวอย่างผลลัพธ์ด้านล่าง

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>

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.