जबकि जफ्फुगा द्वारा पिछला उत्तर सही है, अधिक पूर्ण उत्तर इस प्रकार है:
@echo off
call rails generate scaffold illness name:string
call ralis generate scaffold ingredient name:string origin_id:integer
आपको बैच फ़ाइल में प्रत्येक पंक्ति के सामने एक कॉल रखना होगा जो एक बाहरी प्रक्रिया है जो एक नई प्रक्रिया को ट्रिगर करती है यदि आप चाहते हैं कि स्क्रिप्ट प्रत्येक कॉल के बाद भी जारी रहे। इसलिए डीआईआर और सीओपीवाई जैसे आंतरिक कमांड को कॉल की आवश्यकता नहीं है। लेकिन एक नया कमांड प्रॉम्प्ट या एक और बैच फ़ाइल चलाने पर, नियंत्रण पूरी तरह से उस प्रोग्राम को बंद कर दिया जाता है, जब तक कि CALL शब्द लाइन के सामने न हो। वास्तव में, नया कमांड प्रॉम्प्ट आपके द्वारा बाहर निकलने के बाद बैच फ़ाइल पर वापस नियंत्रण रखेगा ।
जब वे चलते हैं, तो कुछ कार्यक्रम रुक जाएंगे, लेकिन पूरा होने के बाद वे बैच फ़ाइल की अगली पंक्ति में लौट आएंगे। निम्न बैच फ़ाइल में, स्क्रिप्ट नोटपैड के प्रत्येक कॉलिंग के बाद एक ही विराम देगा और नोटपैड के बाहर निकलने के बाद शुरू (दोनों)। इसलिए वे प्रभावी रूप से समान हैं।
notepad.exe
call notepad.exe
echo It came back.
लेकिन जब एक और बैच फ़ाइल कॉल की जाती है, तो पूर्ण नियंत्रण नई प्रक्रिया को पारित किया जाता है जब तक कि सामने कोई कॉल न हो। इसलिए निम्नलिखित कोड में, बैट फ़ाइल की पहली कॉलिंग पूरी होने पर वापस आ जाएगी, लेकिन दूसरी कभी नहीं लौटेगी, इसलिए अंतिम इको लाइन कभी नहीं चलेगी। firstBatch.bat SecondBatch.bat गूंज आप इस लाइन को कभी नहीं देखेंगे
मुझे यकीन नहीं है कि रेल कमांड कैसे काम करता है, लेकिन यह एक बैच सत्र की तरह लगता है। शायद यह एक बैच फ़ाइल थी। Cmd के लिए पहली दो कॉल तब तक वापस नहीं आएगी जब तक आप उस उदाहरण से बाहर नहीं निकलेंगे, आपको पहले वाले शेल में वापस भेज देंगे। कॉल अप्रासंगिक है। लेकिन तीसरा / सी स्विच का उपयोग करता है, जो कमांड को निष्पादित करने और स्वचालित रूप से वापस आने के लिए कहता है। यदि आप इसे भेजने के बाद नए cmd सत्र को सक्रिय रखना चाहते हैं, तो आप / K स्विच का उपयोग करते हैं। इस पर अधिक सहायता के लिए: cmd /?
cmd
call cmd
cmd /c dir
echo You will see this after typing Exit twice to leave two new instances of cmd. The third instance returned automatically.