जवाबों:
में के CALLरूप में उपयोग करें
CALL nameOfOtherFile.bat
यह वर्तमान बैच फ़ाइल के निष्पादन को रोक देगा (रोक देगा), और यह तब तक प्रतीक्षा करेगा जब तक CALLएड एक पूरा नहीं हो जाता।
यदि आप इसे ब्लॉक नहीं करना चाहते हैं, तो STARTइसके बजाय उपयोग करें ।
Cmd प्रॉम्प्ट का उपयोग करके CALL /?या उस से नॉटी-ग्रैटी विवरण START /?प्राप्त करें।
आप सिर्फ नाम से बैच स्क्रिप्ट को लागू कर सकते हैं, जैसे कि आप कमांड लाइन पर चल रहे हैं।
तो, मान लीजिए कि आपके पास एक फ़ाइल है bar.batजो कहती है echo This is bar.bat!और आप इसे एक फ़ाइल से कॉल करना चाहते हैं foo.bat, आप इसमें लिख सकते हैं foo.bat:
if "%1"=="blah" bar
foo blahकमांड लाइन से चलाएं , और आप देखेंगे:
C:\>foo blah
C:\>if "blah" == "blah" bar
C:\>echo This is bar.bat!
This is bar.bat!
लेकिन खबरदार : जब आप दूसरे बैच की स्क्रिप्ट से बैच स्क्रिप्ट लेते हैं, तो मूल बैच स्क्रिप्ट चलना बंद हो जाएगी। यदि आप द्वितीयक स्क्रिप्ट को चलाना चाहते हैं और फिर पिछले बैच की स्क्रिप्ट पर वापस जाना चाहते हैं, तो आपको callकमांड का उपयोग करना होगा । उदाहरण के लिए:
if "%1"=="blah" call bar
echo That's all for foo.bat!
यदि आप foo blahउस पर चलते हैं , तो आप देखेंगे:
C:\>foo blah
C:\>if "blah" == "blah" call bar
C:\>echo This is bar.bat!
This is bar.bat!
C:\>echo That's all for foo.bat!
That's all for foo.bat!
आपको CALL का उपयोग करना चाहिए
CALL batch.bat
यदि आप किसी अन्य विंडो में बैच फ़ाइल को खोलना चाहते हैं, तो उपयोग करें start। इस तरह, आप मूल रूप से एक ही समय में दो स्क्रिप्ट चला सकते हैं। दूसरे शब्दों में, आपको उस स्क्रिप्ट का इंतजार नहीं करना होगा जिसे आपने अभी खत्म करने के लिए बुलाया है। काम के नीचे सभी उदाहरण:
start batch.bat
start call batch.bat
start cmd /c batch.bat
यदि आप स्क्रिप्ट को समाप्त करने के लिए इंतजार करना चाहते हैं, तो प्रयास करें start /w call batch.bat, लेकिन बैच.बेट को समाप्त करना होगा exit।
dayStart.bat
start "startOfficialSoftwares" /min cmd /k call startOfficialSoftwares.bat
start "initCodingEnvironment" /min cmd /k call initCodingEnvironment.bat
start "updateProjectSource" /min cmd /k call updateProjectSource.bat
start "runCoffeeMachine" /min cmd /k call runCoffeeMachine.bat
release.bat
call updateDevelVersion.bat
call mergeDevelIntoMaster.bat
call publishProject.bat
हुह, मुझे पता नहीं क्यों, लेकिन कॉल नहीं
call script.batकिया था चाल मूल कंसोल पर वापस नहीं आई।
cmd /k script.batमूल कंसोल पर वापस लौटा।
callयूज करने पर वह एरर के साथ भी अपनी एक्जेक्यूट जारी रखेगा। कहा जाता है स्क्रिप्ट में।