PowerShell में $ HOME सेट करना


29

मैं अपने डिफ़ॉल्ट होम निर्देशिका को "C: \ Users \ khornsby" हर बार जब मैं शब्‍दशैली खोलूं तो कैसे बदलूँ?

मैं विंडोज 7 चला रहा हूं। नीचे मेरे पर्यावरण की स्थिति के बारे में जानकारी है।

विंडोज पॉवरशेल
कॉपीराइट (C) 2009 Microsoft Corporation। सर्वाधिकार सुरक्षित।

पीएस पी: \> cd ~
पीएस पी: \>echo $HOME
पी: \
पीएस पी: \> HOME="C:\Users\khornsby"
शब्द 'HOME = C: \ Users \ khornsby' को एक cmdlet के नाम से नहीं पहचाना जाता है,
फ़ंक्शन, स्क्रिप्ट फ़ाइल, या ऑपरेबल प्रोग्राम। नाम की वर्तनी की जाँच करें, या
यदि कोई पथ शामिल किया गया था, तो सत्यापित करें कि पथ सही है और पुन: प्रयास करें।
लाइन में: 1 चार: 25
+ HOME = "C: \ Users \ khornsby" 

पीएस पी: \> Set-Variable HOME "C:\Users\khornsby"
सेट-वैरिएबल: चर होम को अधिलेखित नहीं कर सकता क्योंकि यह केवल-पढ़ने के लिए या है
लगातार।
लाइन में: 1 चार: 13
+ सेट-चर 

पीएस पी: \> dir env:home*

नाम मान
---- -----
HOMEPATH \
HOMEDRIVE P:
HOMESHARE \\ fileserv \ khornsby $


पीएस पी: \>

2
आपके प्रारूप ने आपकी पोस्ट कैसे बनाई? मुझे वह तरीका पसंद है जो आपने टाइप किया है।
जे बाजुज़ी 16

3
मैंने <kbd>टैग का इस्तेमाल किया ।
kzh

जवाबों:


27

चर को केवल डिफ़ॉल्ट रूप से पढ़ा जाता है, लेकिन इसे -Forceनिकालें-परिवर्तनीय के स्विच के साथ हटाया जा सकता है । सत्रों में अपने परिवर्तन को लगातार बनाए रखने के लिए, आप एक प्रोफ़ाइल फ़ाइल बना सकते हैं, जो .bashrcपॉवर्सशेल को छोड़कर लिनक्स के लिए ( जैसे बाश पर) बहुत कुछ है ।

यदि आपके C:\Users\YOUR_USERNAME_HERE\documentsउपयोगकर्ता खाते के लिए आपके दस्तावेज़ निर्देशिका (सामान्य रूप से ) में, एक WindowsPowerShell फ़ोल्डर (ठीक उसी तरह नाम दिया गया है) बनाएं यदि कोई पहले से मौजूद नहीं है। फ़ोल्डर के अंदर, एक टेक्स्ट फाइल बनाएं जिसका नाम profile.ps1 है ( सुनिश्चित करें कि यह profile.ps1.txt नहीं है )।

फ़ाइल के अंदर, पॉवरशेल को खोलते समय आप जिस भी चीज़ को निष्पादित करना चाहते हैं उसे रखें।

उदाहरण:

Write-Host "Hi John, welcome back!"
Remove-Variable -Force HOME
Set-Variable HOME "C:\Users\khornsby"

परिणाम:

वैकल्पिक शब्द


1
आप शॉर्टकट से स्टार्टअप पर चलने वाली स्क्रिप्ट को भी इंगित कर सकते हैं: %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -NoExit -ExecutionPolicy bypass -File C:\foo\profile.ps1
paradroid

1
मैंने यह कोशिश की, और यह $ घर के मूल्य को सफलतापूर्वक बदल देता है। लेकिन "cd ~" अभी भी हठपूर्वक मूल स्थान पर जाता है।
वीबल

2
@Weeble, ~ शॉर्टकट को ओवरराइड करने के लिए मेरा जवाब देखें।
ulty4life

9

~शॉर्टकट के बारे में @Weeble की चिंता का समाधान करने के लिए :

$HOMEDRIVE = "C:\"
$HOMEPATH = "Users\" + $env:username

# Set and force overwrite of the $HOME variable
Set-Variable HOME "$HOMEDRIVE$HOMEPATH" -Force

# Set the "~" shortcut value for the FileSystem provider
(get-psprovider 'FileSystem').Home = $HOMEDRIVE + $HOMEPATH

~ और $ HOME के ​​बीच अंतर के लिए यहाँ देखें


1
यह cd $HOMEअंत में जोड़ने लायक है , इसलिए शेल उस स्थान पर शुरू होगा और उपयोग के लिए बिल्कुल तैयार हो जाएगा :)
एलिरन मलका

5

और भी आसान ... उन्नत सिस्टम सेटिंग्स खोलें ...

 C:\> systempropertiesadvanced

अपनी प्रोफ़ाइल के पथ के साथ होम नामक एक नया सिस्टम वैरिएबल जोड़ें

यहाँ छवि विवरण दर्ज करें

खोजकर्ता को पुनरारंभ करें या लॉग आउट करें और वापस अंदर ...

PS C:\> $Env:home 
--- 

3
यह वह नहीं करता जो सवाल पूछता है। यह पर्यावरण चर $ env: HOME को सेट करता है, न कि Powershell variable $ HOME। पॉवर्सशेल वैरिएबल $ HOME पर्यावरण वैरिएबल $ env: HOMEDRIVE और $ env: HOMEPATH से शुरू होता प्रतीत होता है, जब Powershell प्रोसेस शुरू होती है। यह $ घर है जो "सीडी ~" के व्यवहार को निर्धारित करता है।
वीवेबल

2
क्षमा करें, वह अंतिम कथन काफी सत्य नहीं है। $ घर और "सीडी ~" का व्यवहार दोनों पॉवर्सशेल प्रक्रिया शुरू होने पर HOMEDRIVE और HOMEPATH पर्यावरण चर के मूल्यों से मेल खाते दिखाई देते हैं। इसके बाद इनमें से किसी भी चर / पर्यावरण चर को बदलने से "cd ~" द्वारा चुनी गई निर्देशिका पर कोई प्रभाव नहीं पड़ता है।
वीयबल

मेरे लिए ठीक काम करता है .... मुझे नहीं पता कि आप अलग तरीके से क्या कर रहे हैं।
एडी बी

3

विंडोज के भीतर से बदलने के लिए, निम्नलिखित प्रयास करें:

  • Pin PowerShell को टास्कबार में।

  • टास्कबार पर PowerShell आइकन पर राइट क्लिक करें।

  • 'विंडोज पॉवरशेल' पर राइट क्लिक करें और 'प्रॉपर्टीज' चुनें।

  • 'गुण' विंडो के भीतर, 'शॉर्टकट' टैब पर जाएं और अपनी आरंभिक निर्देशिका में 'स्टार्ट इन:' फ़ील्ड बदलें। (उदाहरण:) ।C:\Users\username\Desktop

  • ओके पर क्लिक करें'।

  • टास्कबार से PowerShell लॉन्च करें।

    टास्कबार

    गुण खिड़की


काम नहीं करता है जब 'व्यवस्थापक के रूप में चलाएं' का चयन करें
devi

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.