เมื่อใช้ Windows PowerShell ฉันจะเปลี่ยนพรอมต์คำสั่งได้อย่างไร
ตัวอย่างเช่นพรอมต์เริ่มต้นระบุว่า
PS C:\Documents and Settings\govendes\My Documents>
ฉันต้องการปรับแต่งสตริงนั้น
เมื่อใช้ Windows PowerShell ฉันจะเปลี่ยนพรอมต์คำสั่งได้อย่างไร
ตัวอย่างเช่นพรอมต์เริ่มต้นระบุว่า
PS C:\Documents and Settings\govendes\My Documents>
ฉันต้องการปรับแต่งสตริงนั้น
คำตอบ:
เพียงใส่ฟังก์ชันprompt
ในโปรไฟล์ PowerShell ของคุณ ( notepad $PROFILE
) เช่น:
function prompt {"PS: $(get-date)>"}
หรือสี:
function prompt
{
Write-Host ("PS " + $(get-date) +">") -nonewline -foregroundcolor White
return " "
}
new-item -itemtype file -path $profile -force
Set-ExecutionPolicy RemoteSigned
เป็นผู้ดูแลและทำ
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
หากคุณต้องการเปลี่ยนเฉพาะสำหรับผู้ใช้ปัจจุบันหรือไม่สามารถเรียกใช้ในฐานะผู้ดูแลระบบได้
เกี่ยวข้องกับความคิดเห็นต่อคำตอบของ Ocaso Protalสิ่งต่อไปนี้จำเป็นสำหรับ Windows Server 2012 และ Windows 7 (ในหน้าต่าง PowerShell):
new-item -itemtype file -path $profile -force
notepad $PROFILE
ฉันขอแนะนำสิ่งต่อไปนี้เป็นข้อความแจ้งหากคุณเรียกใช้ด้วยชื่อผู้ใช้หลายชื่อ (เช่นตัวคุณเอง + ล็อกอินที่ใช้งานจริง):
function Global:prompt {"PS [$Env:username]$PWD`n>"}
(เครดิตไปที่ David I. McIntosh สำหรับเรื่องนี้)
Set-ExecutionPolicy RemoteSigned
เป็นผู้ดูแลและทำ
เมื่อได้รับแจ้งฉันชอบการประทับเวลาปัจจุบันและแก้ไขอักษรระบุไดรฟ์สำหรับไดรฟ์เครือข่าย เพื่อให้อ่านง่ายขึ้นฉันวางไว้ในสองบรรทัดและเล่นด้วยสีเล็กน้อย
ด้วย CMD ฉันลงเอยด้วย
PROMPT=$E[33m$D$T$H$H$H$S$E[37m$M$_$E[1m$P$G
สำหรับ PowerShell ฉันได้ผลลัพธ์เดียวกันกับ:
function prompt {
$dateTime = get-date -Format "dd.MM.yyyy HH:mm:ss"
$currentDirectory = $(Get-Location)
$UncRoot = $currentDirectory.Drive.DisplayRoot
write-host "$dateTime" -NoNewline -ForegroundColor White
write-host " $UncRoot" -ForegroundColor Gray
# Convert-Path needed for pure UNC-locations
write-host "PS $(Convert-Path $currentDirectory)>" -NoNewline -ForegroundColor Yellow
return " "
}
ที่ :-) น่าอ่านกว่านิดหน่อย
BTW:
หากคุณต้องการทำด้วยตัวเองคำตอบของ Ocaso Protalคือหนทางที่จะไป แต่ถ้าคุณขี้เกียจเหมือนผมและต้องการเพียงแค่บางสิ่งบางอย่างที่จะทำมันสำหรับคุณแล้วผมขอแนะนำแพคเกจ Pshazz ลุคของจอห์น
เพื่อแสดงให้คุณเห็นว่าคุณขี้เกียจแค่ไหนฉันจะจัดทำบทแนะนำสั้น ๆ
scoop install pshazz
)pshazz use msys
)Pshazz ยังช่วยให้คุณสร้างธีมของคุณเองซึ่งทำได้ง่ายเพียงแค่กำหนดค่าไฟล์ JSON ตรวจสอบของฉันเพื่อดูว่ามันง่ายแค่ไหน!
ในการแสดงอักษรระบุไดรฟ์ที่ฉันใช้:
function prompt {(get-location).drive.name+"\...>"}
จากนั้นเพื่อย้อนกลับไปยังเส้นทางที่ฉันใช้:
function prompt {"$pwd>"}
คำตอบของWarren Stevensเวอร์ชันนี้จะหลีกเลี่ยง "Microsoft.PowerShell.Core \ FileSystem" ที่มีเสียงดังในเส้นทางหากคุณSet-Location
ใช้เครือข่ายร่วมกัน
function prompt {"PS [$Env:username@$Env:computername]$($PWD.ProviderPath)`n> "}
notepad $PROFILE
ไม่ทำงานใน Windows 7 จากพรอมต์พาวเวอร์