2009-01-14 14 views
8

ऐसा लगता है कि मैं सिंगल या डबल उद्धरण का उपयोग कर आदेश पंक्ति तर्क बच सकते हैं:पावरहेल पर कमांड लाइन तर्क से बचने के लिए कैसे?

PS C:\> echo Hello World 
Hello 
World 
PS C:\> echo 'Hello World' 
Hello World 
PS C:\> echo "Hello World" 
Hello World 

लेकिन वहाँ अभी भी कुछ मैं समझ नहीं है, जो जब आप एक निर्देशिका है कि एक में शामिल है से एक निष्पादन चलाना चाहते है इसमें स्थान:

PS C:\> c:\program files\test.exe 
The term 'c:\program' is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again. 
At line:1 char:11 
+ c:\program <<<< files\test.exe 
PS C:\> 'c:\program files\test.exe' 
c:\program files\test.exe 
PS C:\> "c:\program files\test.exe" 
c:\program files\test.exe 
PS C:\> 

उपरोक्त निष्पादन योग्य चलाने के लिए मुझे शक्तियां कैसे मिलेंगी?

उत्तर

11

उपयोग करें:

. "c:\program files\test.exe" 

वास्तव में एक और भी बेहतर समाधान होगा:

Invoke-Item "c:\program files\test.exe" 

या अन्य नाम का उपयोग:

ii "c:\program files\test.exe" 

आह्वान-मद उपयोग करने का अर्थ है कि उचित खिड़कियां फ़ाइल हैंडलर का उपयोग किया जाएगा। तो एक exe के लिए यह इसे चलाएगा। उदाहरण के लिए .doc फ़ाइल के लिए, यह इसे शब्द में खुल जाएगा।

यहां सबसे आसान PoSH कमांड लाइनों में से एक है। इसे आज़माएं:

ii . 
+0

प्रतिभाशाली की खोज की है! धन्यवाद –

17

कमांड से पहले एम्पर्सेंड डालने का प्रयास करें। उदाहरण

& 'C:\Program Files\winscp\winscp.exe' 
+0

यह अधिक सही उत्तर है क्योंकि यह केवल पार्सर को कमांड मोड में अगले टोकन की व्याख्या करने के लिए कहता है, हालांकि यह एक स्ट्रिंग की तरह दिखता है। –

संबंधित मुद्दे