क्या PowerShell का डिफ़ॉल्ट स्थान बदलने का कोई तरीका है?
आप PowerShell के डिफ़ॉल्ट कार्य निर्देशिका को कैसे सेट करते हैं?
क्या PowerShell का डिफ़ॉल्ट स्थान बदलने का कोई तरीका है?
आप PowerShell के डिफ़ॉल्ट कार्य निर्देशिका को कैसे सेट करते हैं?
जवाबों:
PowerShell शुरू करने पर आप निर्देशिका को खोलने के लिए निर्दिष्ट कर सकते हैं:
powershell.exe -NoExit -command "& {Set-Location $env:systemroot}"
बस इसे अपने शॉर्टकट में उपयोग करें।
या एक निर्देशिका शुरू करने के लिए एक प्रोफाइल का उपयोग करें ।
pwsh.exe -WorkingDirectory C:\YourLocation\Goes\Here
एक PowerShell प्रोफ़ाइल निम्नानुसार बनाएँ ।
PowerShell को व्यवस्थापक के रूप में चलाएँ और निम्न आदेश निष्पादित करें:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
यह PowerShell को इंटरनेट से डाउनलोड की गई स्थानीय स्क्रिप्ट और स्क्रिप्ट को चलाने की अनुमति देगा, जिन पर हस्ताक्षर किए गए हैं। प्रलेखन में इस कमांड के बारे में और पढ़ें ।
अपने Documentsफ़ोल्डर में, WindowsPowerShellक्लासिक पॉवरशेल या के लिए नामित फ़ोल्डर ढूंढेंPowerShell नए PowerShell Core के लिए । यदि यह मौजूद नहीं है, तो यह ठीक है; बस इसे बनाएँ।
profile.ps1में नाम WindowsPowerShell(या PowerShellPowerShell कोर के लिए) एक नई फ़ाइल बनाएँ ।profile.ps1अपनी डिफ़ॉल्ट कार्य निर्देशिका को सेट करने के लिए निम्न कमांड खोलें और जोड़ें:
Set-Location C:\my\default\working\directoryएक नई PowerShell विंडो खोलें ... परिवर्तनों को प्रभावी होना चाहिए।
powershell -File "myscript.ps1"
powershel -NoProfile -File "myscript.ps1"
मैंने सफलता के बिना विंडोज सर्वर 2016 में उपरोक्त उत्तर की कोशिश की थी।
लेकिन मुझे यह दृष्टिकोण मिला (यह विंडोज 10 के लिए भी ऐसा ही होना चाहिए) मेरे लिए काम कर रहा है।
किया हुआ!
उसी गुण संवाद में आप कई अन्य सेटिंग्स जैसे फोंट, रंग, आकार और बटन के माध्यम से वहां शॉर्टकट टैब पर भी बदल सकते हैं Advanced। आप चुन सकते हैं कि पॉवरशेल सत्र व्यवस्थापक विशेषाधिकारों के साथ चलाया जाए।
Run as administratorमें जांच करते हैं, तो कार्यशील निर्देशिका को बदलना काम नहीं लगता है .lnk। समाधान यहां लगता है कि stackoverflow.com/questions/31622469/…
Run as aministratorऔर आगे और पीछे चेकबॉक्स बदलने के साथ परीक्षण किया गया ।
डिफ़ॉल्ट निर्देशिका सेट करने का एक आसान तरीका निम्नलिखित है:
प्रारंभ में Windows PowerShell आइकन पर राइट-क्लिक करें, और फिर से Windows PowerShell पर राइट क्लिक करें और गुण चुनें ( व्यवस्थापक के रूप में न चलाएं और Windows PowerShell ISE )
Set-Locationअपनी प्रोफ़ाइल में डालने से बिना कार्यशील वर्तमान निर्देशिका बदल जाएगी, जिसके स्क्रिप्ट के लिए कार्यशील निर्देशिका के संबंध में अवांछित परिणाम हो सकते हैं जिसे आप "रन विद पॉवरशेल" के माध्यम से निष्पादित करते हैं।
वैकल्पिक रूप से .lnkआम तौर पर पाई जाने वाली फ़ाइलों को PowerShell में बदलने के लिए एक वैकल्पिक समाधान है %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell। एक लिंक पर राइट क्लिक करें, और %HOMEDRIVE%%HOMEPATH%अपनी इच्छित निर्देशिका से कार्यशील निर्देशिका को बदलें ।
Run as administratorमें जांच करते हैं, तो कार्यशील निर्देशिका को बदलना काम नहीं लगता है .lnk। समाधान यहाँ stackoverflow.com/questions/31622469/…
-NoProfileविकल्प का उपयोग करना चाहिए जैसे powershell -NoProfile -File "myscript.ps1"
इसे PowerShell में लिखें:
New-Item -path $profile -type file –force
यह PowerShell फ़ोल्डर में एक .ps1 फ़ाइल बनाता है। इसे खोलें, और इसे इस रूप में संपादित करें:
Set-location C:\files
किया हुआ
इस लिंक का संदर्भ लें। यह बढ़िया काम करता है।
पिछले उत्तरों में बताए अनुसार कार्यशील निर्देशिका को बिना शर्त बदलने के बजाय, आप Set-Locationजब भी आवश्यक हो, कार्यशील निर्देशिका को जल्दी से बदलने के लिए उपयोग करने के लिए PowerShell प्रोफ़ाइल में एक साधारण फ़ंक्शन लिख सकते हैं ।
PowerShell प्रोफ़ाइल बनाने / संशोधित करने के लिए जेरेमी डैनो के उत्तर की जाँच करें ।
अपने PowerShell प्रोफ़ाइल में एक फ़ंक्शन जोड़ें
function goto_this {set-location 'your\path\to\some\dir'}
function goto_that {set-location 'your\path to some\dir with space'}
बस फ़ंक्शन नाम और निर्देशिका को इंगित करने के लिए बदलें। यदि रिक्त स्थान हैं तो पथ पर उद्धरण का उपयोग करना अनिवार्य है। मैं उपसर्ग रखने की कोशिश करता हूं goto_क्योंकि यह फ़ंक्शन के नामों को याद रखने में मदद करता है।
आप goto_सभी प्रारंभ किए गए फ़ंक्शंस के माध्यम से टाइप करने के लिए TAB को टाइप करना शुरू कर सकते हैं (फ़ंक्शन जोड़ने / संशोधित करने के बाद एक नई PowerShell विंडो शुरू करने के लिए याद रखें)।
केवल कमांड लाइन का उपयोग करते हुए, यदि कोई फ़ाइल पहले से मौजूद है तो वह उसमें संलग्न हो जाएगी:
$(if (-Not (Test-Path ~\Documents\WindowsPowerShell\)){ mkdir ~\Documents\WindowsPowerShell\}) ; echo "Set-Location c:\THELOCATIONYOUWANT" >> ~\Documents\WindowsPowerShell\profile.ps1
इसके साथ, "वर्किंग डाइरेक्टरी" और पॉवरशेल के "लोकेशन" पर कुछ भ्रम होने लगता है। यहां ज्यादातर लोग क्या कर रहे हैं, और करने के लिए कह रहे हैं पॉवरशेल के "स्थान" को बदल दें। "वर्किंग डायरेक्टरी" वास्तव में अलग है। यहाँ एक लेख है जो इसे समझाता है।
उन लोगों के लिए जो लेख नहीं पढ़ना चाहते हैं: PowerShell खोलें और दूसरों ने जो करने के लिए कहा है उसका उपयोग करें Set-Location "C:\some\directory"। ध्यान दें कि आपकी "वर्किंग डाइरेक्टरी" अभी भी वही है जहाँ आपका पॉवरशेल खोला गया था। या तो "~"या "%SYSTEMROOT%\system32"पर अगर आप व्यवस्थापक के रूप में है या नहीं भागा निर्भर करता है। कार्यशील निर्देशिका की जांच करने के लिए, का उपयोग करें [Environment]::CurrentDirectory।
नोट: लेख में लेखक इस कमांड का उपयोग करके "वर्किंग डायरेक्टरी" की जाँच करने के लिए कहता है:
\[Environment\]::CurrentDirectory
मुझे यकीन नहीं है कि यह पुराने PowerShell संस्करणों के साथ काम करता है, लेकिन PowerShell 5 के साथ (और बाद में) आपको उपयोग करना होगा [Environment]::CurrentDirectory।