जवाबों:
आपको अपने PowerShell प्रोफ़ाइल में प्रॉम्प्ट फ़ंक्शन को कस्टमाइज़ करना होगा ( %userprofile%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
); यह रिक्त हो सकता है या यहां तक कि मौजूद नहीं हो सकता है अगर आपने इसे पहले कभी संशोधित नहीं किया है।
अपनी प्रोफ़ाइल खोलें (उदाहरण के लिए, उपरोक्त फ़ाइल खोलें या PowerShell में Notepad $profile
)
अपनी प्रोफ़ाइल में निम्नलिखित जोड़ें:
function prompt {
$p = Split-Path -leaf -path (Get-Location)
"$p> "
}
प्रोफ़ाइल सहेजें
PowerShell को पुनरारंभ करें
वैकल्पिक । यदि आपको कोई संदेश मिलता है जो कहता है कि आपको स्क्रिप्ट चलाने की अनुमति नहीं है, तो आपको इस पंक्ति को PowerShell में कॉपी / पेस्ट करने की आवश्यकता है:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
और पुनः आरंभ करें।
Windows PowerShell निष्पादन नीतियाँ आपको उन शर्तों को निर्धारित करने देती हैं जिनके तहत Windows PowerShell कॉन्फ़िगरेशन फ़ाइलों को लोड करता है और स्क्रिप्ट चलाता है।
आप स्थानीय कंप्यूटर के लिए, वर्तमान उपयोगकर्ता के लिए, या किसी विशेष सत्र के लिए एक निष्पादन नीति निर्धारित कर सकते हैं। आप कंप्यूटर और उपयोगकर्ताओं के लिए निष्पादन नीति निर्धारित करने के लिए समूह नीति सेटिंग का भी उपयोग कर सकते हैं।
स्रोत: Microsoft प्रलेखन
GetCurrentDirectory
। याद रखें कि PowerShell का हमेशा फ़ाइल सिस्टम से मतलब नहीं होता है। रजिस्ट्री स्नैप-इन का उपयोग करते हुए, मैं उपयोग कर सकता था cd hkcu:
और अब प्रॉम्प्ट पूरी तरह से बंद हो जाएगा।
$PWD
कॉलिंग के बजाय भी उपयोग कर सकते हैं Get-Location
। जैसेfunction prompt { (Split-Path -Leaf $pwd) + '> ' }
prompt
अपनी प्रोफ़ाइल फ़ाइल में परिभाषित करने की आवश्यकता नहीं है । यह सिर्फ वैश्विक सत्र के दायरे में होना चाहिए। डिफ़ॉल्ट के बराबर लगता है function prompt {"PS " + (Get-Location) + ">"}
, जबकि के function prompt {""}
रूप में ही देता है function prompt {"PS>"}
। function prompt {" `b"}
खाली प्रॉम्प्ट (कम से कम नेत्रहीन ...) प्राप्त करने के लिए उपयोग करें ।
एक अतिरिक्त नोट के रूप में, मैं @ Synetech कमांड तब तक नहीं कर सका जब तक मैंने पहली बार $ प्रोफ़ाइल नहीं बनाई।
टाइप करें $profile
और एंटर करें। यह प्रोफ़ाइल पथ प्रदर्शित करेगा PowerShell पर निर्भर करता है, भले ही यह मौजूद नहीं है (यह मेरे लिए नहीं था)। मेरा रास्ता ऊपर पोस्ट किए गए @Synetech से अलग था।
>$profile
C:\Users\[username]\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
मुझे WindowsPowerShell फ़ोल्डर और Microsoft.PowerShell_profile.ps1 फ़ाइल दोनों बनाने थे।
ध्यान दें:
यदि आप पॉश-गिट का उपयोग कर रहे हैं (जो कि GitHub डेस्कटॉप का उपयोग करते समय स्थापित किया गया है), तो @ Synetech की स्क्रिप्ट पॉश-गिट प्रॉम्प्ट को ओवरराइड कर देगी। यहां पॉश-गिट के लिए अतिरिक्त त्वरित स्क्रिप्ट ।
%userprofile%
के लिए विस्तारितC:\Users\[username]
$Env:userprofile
के बराबर हैecho %userprofile%
पूर्ण पथ के बिना वर्तमान फ़ोल्डर दिखाने के लिए और अंत में प्रतीक से बड़ा होने के लिए संकेत बदलें:
एक तरीका हो सकता है:
Function Prompt { "$( ( get-item $pwd ).Name )>" }
या:
Function Prompt { "$( Split-Path -leaf -path (Get-Location) )>" }
या:
Function Prompt { "$( ( Get-Location | Get-Item ).Name )>" }
\\myserver\my\path
।
मैंने पाया कि यह बहुत आसान था - @ Synetech के उत्तर और पॉवरशेल प्रोफाइल में मिली जानकारी का संयोजन । क्योंकि मैं पीएस के लिए नौसिखिया हूं। मेरे कदम (vscode के लिए):
में पेस्ट करें
function prompt {
$p = Split-Path -leaf -path (Get-Location)
"$p> "
}
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser (आपके PS प्रॉम्प्ट पर, SuperUse उत्तर से)
पुनः लोड करें
तो ज्यादातर @ Synetech का उत्तर (उत्कीर्ण) एक बिट के साथ आसानी से शुरू करने के लिए - विशेष रूप से चरण 2 यह बहुत आसान बनाता है।
नीचे दी गई सिंगल लाइन मेरे लिए ठीक काम करती है
(गेट-लोकेशन | गेट-आइटम) ।नाम
[System.IO.Directory]::GetCurrentDirectory()
पॉवरशेल के वर्तमान स्थान का प्रतिनिधित्व नहीं करता है, बल्कि प्रक्रिया कार्य निर्देशिका, जो हमेशा समान नहीं होती है। से बदलेंGet-Location