क्या मैं विंडोज 7 में पावरशेल को 'डिफ़ॉल्ट' के रूप में सेट कर सकता हूं?


9

मैं चाहता हूँ, डिफ़ॉल्ट रूप से, PowerShell के लिए कमांड के बजाय लॉन्च किया जाए, जब कहो, बैच फ़ाइल चला रहा हो, या जब मैं "ओपन कमांड विंडो यहाँ", आदि।

कोई सुझाव?


5
मुझे नहीं लगता कि पॉवरशेल बैच फ़ाइलों की व्याख्या कर सकते हैं, इसलिए शायद आपको इसे खोलना नहीं चाहिए।
11'11

जवाबों:


9

मैंने अभी बहुत जल्दी परीक्षण किया है और निम्नलिखित रजिस्ट्री प्रविष्टि में "फ़ोल्डर्स में" सभी फ़ोल्डर के संदर्भ मेनू में "PowerShell यहां" आइटम जोड़ा जाएगा:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\PowerShellHere]
@="&PowerShell here"

[HKEY_CLASSES_ROOT\Directory\shell\PowerShellHere\command]
@="cmd.exe /c start \"PS\" powershell.exe -NoExit -Command \"cd \\\"%1\\\"\""

बस इसे रजिस्ट्री में आयात करें। cmd.exeपथ को हार्ड-कोड करने से बचने के लिए मैं बूटस्ट्रैप पॉवरशेल का उपयोग कर रहा हूं ।

Cmd स्क्रिप्ट / बैच फ़ाइलों के बारे में। मुझे लगता है कि डिफ़ॉल्ट रूप से PowerShell के भीतर CMD स्क्रिप्ट को चलाने के लिए यह बहुत मायने नहीं रखता है। लेकिन यह HKCR\cmdfile\shell\openरजिस्ट्री कुंजी को संशोधित करके संभव हो सकता है


धन्यवाद! मैं आज रात इन कोशिश करूँगा। एकमात्र कारण जो मैं स्क्रिप्ट को पॉवरशेल में खोलना चाहता हूं वह मेरे विंडोिंग टूल के साथ स्थिरता और सहयोग के लिए है। आप सही हैं कि कोई अंतर्निहित व्यावहारिक कारण नहीं है। ;)
Ipsquiggle

0

आप PowerShell में CMD बैच फ़ाइलों को चलाने के साथ बहुत दूर नहीं जा रहे हैं।

आप %COMSPEC%चर का powershell.exeउपयोग करने के लिए इंगित करने के लिए परिवर्तन करने का प्रयास कर सकते हैं setx, लेकिन मुझे नहीं लगता कि आपको यह महसूस करने में लंबा समय लगेगा कि यह वास्तव में एक बुरा विचार है और इसे फिर से बदल दें।

* .bat के बजाय * .ps1 के रूप में फाइल को सेव करें और यह पॉवरशेल का उपयोग करेगा


1
यह एक बुरा विचार क्यों है? बस उत्सुक।
afrazier

@afrazier: मैंने %COMSPEC%एक गैर-सीएमडी-संगत शेल में बदलने के लिए प्रयोग नहीं किया है , लेकिन मुझे लगता है कि इसे PowerShell में बदलने के परिणामस्वरूप .cmd/ .batफ़ाइलें PowerShell में निष्पादित करने का प्रयास करेगी , इसलिए वे विफल हो जाएंगे । मैंने बहुत सारे सॉफ़्टवेयर स्थापित किए हैं जिन्हें बैच फ़ाइलों का उपयोग करने की आवश्यकता है, इसलिए ऐसा करना एक बुरा विचार होगा। इसके अलावा, मैं थोड़ा पक्षपाती हूं, जैसा कि मैं हर समय सीएमडी का उपयोग करता हूं (वास्तव में, टीसीसी, जो एक विस्तारित सुपरसेट है), हर रोज फाइल प्रबंधन के लिए - मैं केवल सिस्टम सामान के लिए पॉवरशेल का उपयोग करता हूं, हालांकि मेरे पास सीखने के लिए बहुत कुछ है, जैसा कि यह तुलना में इतना शक्तिशाली है।
विरोधाभास

1
बस गिगल्स के लिए, मैं %ComSpec%अपने Win7 सिस्टम पर PowerShell को इंगित करने के लिए बदल गया हूं। पहली जोड़ी की .cmdफाइलों का परीक्षण मैंने ठीक काम किया। वे cmdविशिष्ट निर्माण ( for, परिवर्तनीय हेरफेर if) शामिल करते हैं, इसलिए PS स्पष्ट रूप से यह जानने के लिए पर्याप्त स्मार्ट है कि उसे कब आह्वान करना है cmd.exe
पूर्वोतर

उदाहरण के लिए, %ComSpec%पॉवरशेल में बदलने से मर्क्यूरियल वर्जन कंट्रोल कमांड्स टूट जाती हैं।
होप
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.