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 के जवाब के लिए एक टिप्पणी से संबंधित , निम्न की आवश्यकता है विंडोज सर्वर 2012 के साथ-साथ विंडोज 7 (एक पॉवरशेल विंडो में):
new-item -itemtype file -path $profile -force
notepad $PROFILE
यदि आप कई उपयोगकर्ता नामों (जैसे स्वयं + उत्पादन लॉगिन) के साथ चलते हैं, तो मैं आपको एक संकेत के रूप में निम्नलिखित सुझाव दूंगा:
function Global:prompt {"PS [$Env:username]$PWD`n>"}
(इस एक के लिए क्रेडिट डेविड आई। मैकिंटोश को जाता है।)
Set-ExecutionPolicy RemoteSigned
।
प्रॉम्प्ट पर, मुझे नेटवर्क ड्राइव के लिए एक मौजूदा टाइमस्टैम्प और हल किए गए ड्राइव अक्षर पसंद हैं। इसे और अधिक पठनीय बनाने के लिए, मैंने इसे दो पंक्तियों में रखा, और रंगों के साथ थोड़ा खेला।
सीएमडी के साथ, मैं समाप्त हो गया
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:
powershell_ise.exe $PROFILE
(गूंगा) नोटपैड के बजाय पसंद करता हूं ।यदि आप इसे स्वयं करना चाहते हैं, तो Ocaso Protal का उत्तर जाने का मार्ग है। लेकिन अगर तुम मेरी तरह आलसी हो और सिर्फ तुम्हारे लिए कुछ करना चाहते हो, तो मैं ल्यूक सैम्पसन के Pshazz पैकेज की अत्यधिक अनुशंसा करता हूं ।
बस आपको यह दिखाने के लिए कि आप कितने आलसी हो सकते हैं, मैं एक त्वरित ट्यूटोरियल प्रदान करूंगा।
scoop install pshazz
)pshazz use msys
)Pshazz आपको अपनी स्वयं की थीम बनाने की अनुमति देता है, जो JSON फ़ाइल को कॉन्फ़िगर करने के समान सरल है। कितना आसान है यह देखने के लिए मेरी जाँच करें !
केवल मेरे द्वारा उपयोग किए जाने वाले ड्राइव अक्षर को दिखाने के लिए:
function prompt {(get-location).drive.name+"\...>"}
फिर मेरे द्वारा उपयोग किए गए पथ पर वापस लौटने के लिए:
function prompt {"$pwd>"}
वॉरेन स्टीवंस के उत्तर का यह संस्करण यदि आप Set-Location
नेटवर्क शेयर करते हैं तो शोर "Microsoft.PowerShell.Core \ FileSystem" से बचता है ।
function prompt {"PS [$Env:username@$Env:computername]$($PWD.ProviderPath)`n> "}
notepad $PROFILE
Windows 7 में एक व्यवस्थापक