2012-01-13 27 views
8

के साथ बैच फ़ाइल में स्टार्ट कमांड का उपयोग करने के बाद "इस कमांड को संसाधित करने के लिए पर्याप्त संग्रहण उपलब्ध नहीं है" मैं एक बैच फ़ाइल बना रहा हूं जिसे एक अलग cmd विंडो में दूसरी बैच स्क्रिप्ट खोलने की आवश्यकता है। अगर मैं "स्टार्ट" के बजाय "कॉल" कमांड का उपयोग करता हूं तो मैं अपने सभी कोड का सफलतापूर्वक उपयोग कर सकता हूं लेकिन यह स्क्रिप्ट को अपनी विंडो में लॉन्च नहीं करता है। मुझे इस त्रुटि को अतीत में कई बार मिल गया है और यह हमेशा स्टार्ट कमांड से संबंधित है। मैं बदलता हूं कि मैं प्रक्रिया कैसे करता हूं और सभी अच्छी तरह से काम करते हैं। स्टार्ट कमांड इस त्रुटि के कारण क्यों है और मैं इसे कैसे ठीक कर सकता हूं? नीचे मेरे कोड का एक नमूना है।विंडोज 7

start "" /w "k:\Bundle Support files\record serial.cmd" 

दूसरा बैच फ़ाइल को खोलता है और पिछले एक जो है

goto :exit 

:exit 

मैं कई बार फाइल में पिछले आदेश को बदल दिया है को छोड़कर सभी कार्य पूरा करता है और यह हमेशा पूरे बैच के माध्यम से यह बनाता है लेकिन आखिरी कमांड जो उस बैच को समाप्त करेगा "इस कमांड को संसाधित करने के लिए पर्याप्त भंडारण उपलब्ध नहीं है" त्रुटि के साथ विफल रहता है। यह कई मशीनों (अलग हार्डवेयर) और एकाधिक ओएस पर होता है। मैंने किसी भी भाग्य के साथ आईआरपीएसटैक आकार तय करने का प्रयास किया है। मुझे कोई त्रुटि क्यों मिल रही है?

धन्यवाद, केविन

+1

गोटो का उपयोग करें: अलविदा और: अलविदा लेबल के रूप में। बाहर निकलने के लिए आरक्षित शब्द – rene

+0

@rene के रूप में संभाला जा सकता है मुझे इसे आरक्षित होने में समस्याएं आई हैं। अवसर पर भी खत्म हो जाओ। 'गोटो अलविदा' और 'अलविदा' एक अच्छा सुझाव है। मैं आमतौर पर फिन का उपयोग करता हूं। – MaskedPlant

+0

सुझावों के लिए धन्यवाद लेकिन मुझे लगता है कि शायद मैं अपने प्रश्न में पर्याप्त स्पष्ट नहीं था। मैं यह पता लगाने की कोशिश कर रहा हूं कि "स्टार्ट" कमांड कैसे काम करता है और जब मैं इसका उपयोग करता हूं तो बैच फ़ाइल "स्टार्ट" है, तो अंतिम आदेश क्या नहीं होगा। मुझे "इस आदेश को संसाधित करने के लिए पर्याप्त संग्रहण उपलब्ध नहीं है" त्रुटि मिलेगी। निष्पादन योग्य प्रारंभ करते समय मैं सफलतापूर्वक प्रारंभ कमांड का उपयोग कर सकता हूं। समस्या बैच फ़ाइलों के साथ इसका उपयोग कर रही है। – KevinB

उत्तर

0

goto :EOF साथ goto :exit बदलें। ईओएफ लेबल को परिभाषित न करें (यह पूर्वनिर्धारित है)।

+0

सुझावों के लिए धन्यवाद लेकिन मुझे लगता है कि शायद मैं अपने प्रश्न में पर्याप्त स्पष्ट नहीं था। मैं यह पता लगाने की कोशिश कर रहा हूं कि "स्टार्ट" कमांड कैसे काम करता है और जब मैं इसका उपयोग करता हूं तो बैच फ़ाइल "स्टार्ट" है, तो अंतिम आदेश क्या नहीं होगा। मुझे "इस आदेश को संसाधित करने के लिए पर्याप्त संग्रहण उपलब्ध नहीं है" त्रुटि मिलेगी। निष्पादन योग्य प्रारंभ करते समय मैं सफलतापूर्वक प्रारंभ कमांड का उपयोग कर सकता हूं। समस्या बैच फ़ाइलों के साथ इसका उपयोग कर रही है। – KevinB

15

मुझे एक ही समस्या का सामना करना पड़ा है और मेरे लिए समाधान अजीब था। ऐसा प्रतीत होता है कि विंडो के शीर्षक को कुछ भी नहीं ("") त्रुटि का कारण बनता है।

तो, बजाय

start "" /w "k:\Bundle Support files\record serial.cmd" 

कोशिश

start "Placeholder Name" /w "k:\Bundle Support files\record serial.cmd" 

मैं परीक्षण नहीं कर सकते कि क्या यह आपके मामले में काम करेंगे (और मुझे शक है यह मायने रखता है के रूप में आप लंबे समय से चला रहे हैं), लेकिन उम्मीद है कि इससे किसी को भी ऐसी ही त्रुटियों का सामना करने में मदद मिलेगी।

+1

मैं पूरी तरह से झुका हुआ हूं कि यह काम करता है। एक त्रुटि संदेश, विंडोज़ का एक भयानक लाल हेरिंग। –

-1

जब आप एक cmd लॉन्च करते हैं तो START कमांड करता है। यदि आप START cmd चलाते हैं तो आप उम्मीद नहीं करेंगे कि सीएमडी तत्काल बाहर निकलें - यह वहां उपयोग के लिए तैयार रहता है। तो आप या तो एक cmd फ़ाइल को कॉल करें और यह खत्म हो जाएगा, या आप एक cmd शुरू करें, और यह खत्म नहीं होगा - लेकिन आप EXIT कमांड का उपयोग कर इसे समाप्त कर सकते हैं। स्टैक ओवरफ़्लो का मुद्दा भी SEIPIA द्वारा सही ढंग से उत्तर दिया गया था - filename.cmd प्रारंभ करने के बजाय, उद्धरण के बीच कुछ शीर्षक के रूप में कार्य करने के लिए - जो स्टैक ओवरफ़्लो त्रुटि को रोक देगा।