निम्नलिखित cmd लिपियों में क्या अंतर है?


10

मैंने एक बैच फ़ाइल के माध्यम से कई कार्यक्रमों को शुरू करने की कोशिश की है और समस्याओं का सामना किया है, लेकिन यह अतीत में है।

मैं स्क्रिप्ट्स और कमांड लाइन के लिए अपेक्षाकृत नया हूँ और यह मेरा सवाल होगा: निम्नलिखित cmd स्क्रिप्ट्स में क्या अंतर है?

यह एक स्वीकार है

Start Chrome

(मैं यहाँ अनुमान लगा रहा हूँ कि कुछ स्थापित प्रोग्राम्स को शीर्षक से पहचाना जाता है, भले ही डीआईआर वह नहीं है जहाँ chrome.exe प्रोग्राम अभी भी लॉन्च हुआ है, रजिस्ट्री कुंजियाँ इसमें एक भूमिका निभाती हैं?)

यह एक काम भी करता है

cd "FOO_DIR"
start FOO.exe

हालाँकि ये नहीं हैं

start "FOO_DIR\FOO.exe"

(FOO.exe लॉन्च किए बिना एक नई विंडो खोलता है)

start /B "FOO_DIR\FOO.exe"

(कॉपीराइट पाठ फिर से लिखता है और कुछ नहीं करता है)

(ओएस विंडोज 7 x64)

जवाबों:


17
Start Chrome

यह काम करता है, क्योंकि क्रोम का निष्पादन योग्य फ़ोल्डर में स्थित है जो PATHपर्यावरण चर में है। startउस चर में सभी फ़ोल्डरों में प्रोग्राम की तलाश करता है। पर्यावरण चर PATHEXTमें फ़ाइल एक्सटेंशनों की एक सूची है, जिसे देखने के लिए और .exeडिफ़ॉल्ट रूप से निहित है, आपको लिखने की आवश्यकता नहीं है chrome.exe


start "FOO_DIR\FOO.exe"

यह काम नहीं करता है, क्योंकि startयह उद्धृत होने पर विंडो शीर्षक के रूप में अपने पहले तर्क का उपयोग करेगा। तो यह "FOO_DIR\FOO.exe"अपने शीर्षक के साथ एक नया CMD खोलेगा ।

इसे दरकिनार करने के लिए, आप अपने आदेश से पहले एक खाली शीर्षक तर्क जोड़ सकते हैं:

start "" "FOO_DIR\FOO.exe"

इसके अलावा, AFAIR, शीर्षक अनिवार्य जब कमांड लाइन के साथ निष्पादनयोग्य की शुरूआत स्विच है
abstrask

1
ऐसा नहीं है कि startकिसी शीर्षक की उसके पहले तर्क के रूप में अपेक्षा है (अन्यथा start chromeकाम नहीं करेगा), यह है कि यदि उसका पहला तर्क उद्धृत किया गया है, तो यह उम्मीद करता है कि यह एक शीर्षक होगा।
jamesdlin

@jamesdlin आह, इस पर प्रलेखन थोड़ा अस्पष्ट है, धन्यवाद। मैंने तदनुसार उत्तर संपादित किया
crater2150

5

जोड़ने का प्रयास करें "title"या कम से कम ""के बाद startइस तरह:

start "title" "FOO_DIR\FOO.exe"

या

start "title" /B  "FOO_DIR\FOO.exe"

समस्या का मूल कारण यह है कि "" उद्धरणों में पहला तर्क titleनई cmdविंडो के लिए एक पैरामीटर के रूप में व्याख्या किया गया है ।

इसके अलावा यह कमांड संदर्भ (लिंक) को देखने में मदद करता है


धन्यवाद, यह अंतर स्पष्ट किया। और पहले एक के साथ मुझे लगता है कि "गैर-निष्पादन योग्य फ़ाइलों को केवल एक कमांड के रूप में फ़ाइल का नाम टाइप करके अपने फ़ाइल संघ के माध्यम से मंगाया जा सकता है।" यही कारण है कि बस नाम पर्याप्त है ... (हालांकि यकीन नहीं है)
श्री स्मिथ

यदि आप अपने झगड़े के उदाहरण के बारे में बात कर रहे हैं, तो start chromeमेरा मानना ​​है कि क्रोम कॉलिंग का काम करता है, क्योंकि इसकी कहीं न कहीं रजिस्ट्री में प्रविष्टि है: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ App पथ यदि आप chrome.exe देखते हैं तो आप सबसे अधिक संभावना रखते हैं निष्पादन योग्य के लिए पूर्ण पथ वाले प्रवेश को ढूंढें।
आर्ट गर्टनर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.