ฉันต้องการให้ไดเรกทอรีการทำงานปัจจุบันแสดงบนบรรทัดคำสั่ง powershell ตามที่จะทำได้ในพร้อมท์ (ตัวอย่าง) CMD ฉันจะทำเช่นนั้นได้อย่างไร
ฉันต้องการให้ไดเรกทอรีการทำงานปัจจุบันแสดงบนบรรทัดคำสั่ง powershell ตามที่จะทำได้ในพร้อมท์ (ตัวอย่าง) CMD ฉันจะทำเช่นนั้นได้อย่างไร
คำตอบ:
ลองใช้งานได้ที่: 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 - สิ่งนี้จะช่วยให้คุณสามารถเรียกใช้สคริปต์ที่ไม่ได้ลงนามซึ่งเขียนไว้ในคอมพิวเตอร์และสคริปต์ที่ลงนามจากผู้อื่น
$profile.CurrentUserCurrentHost
และ$profile.CurrentUserCurrentHost
เพื่อดูว่า (โปรไฟล์) สคริปต์โปรไฟล์ใดที่ถูกต้อง โฮสต์ที่แตกต่างกัน (เช่น VS กับ ISE) มีค่าแตกต่างกันสำหรับ$profile.CurrentUserCurrentHost
ง่าย ๆ เพิ่มสิ่งต่อไปนี้ลงในprofile.ps1
ไฟล์ของคุณ(ภายใต้โฟลเดอร์My Documents \ WindowsPowerShell ):
ฟังก์ชั่นพรอมต์ {"$ pwd>"}
ลองทำสิ่งต่อไปนี้:
$CurrentDir = $(get-location).Path;
ทุกวันนี้มันใช้งานได้ดี:
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>
(Get-Item -Path ".\").FullName