2012-11-07 18 views
12

मैं सेटअप रेक करने के लिए खिड़कियों पर/एल्बाकोर पर्यावरण की कोशिश कर रहा एक बैच फ़ाइल बना के बाद अगले आदेश नहीं चलता है:बैच फ़ाइल 'स्थापित मणि'

@echo off 

echo Setting up rake environment for building 

echo Installing Bundler 
gem install bundler 

echo Bundle Installing gems 
bundle install 

जब मैं इस बैच फ़ाइल या तो डबल क्लिक करें चलाने के (या एक cmd विंडो के अंदर चलाएं), केवल पहला मणि कमांड निष्पादित किया जाता है। 'बंडल इंस्टॉल' कभी नहीं कहा जाता है।

C:\>InstallGems.bat 
Setting up rake environment for building 
Installing Bundler 
Successfully installed bundler-1.2.1 
1 gem installed 
Installing ri documentation for bundler-1.2.1... 
Installing RDoc documentation for bundler-1.2.1... 

C:\> 

मैं जोड़ लिया है 'रोकें' पहले के बाद 'मणि स्थापित' कमांड और यह 'रोकें' या तो मार डाला कभी नहीं लगता है: यहाँ उत्पादन होता है।

कोई विचार?

+0

यह संभव है कि जेम स्वयं बैच-फ़ाइल है, या स्क्रिप्ट किसी त्रुटि के कारण किसी तरह से निरस्त हो रही है और आपको त्रुटि के बारे में नहीं बता रही है। –

उत्तर

19

आह, मैंने इसे समझ लिया: बस प्रत्येक आदेश से पहले 'कॉल' जोड़ें।

@echo off 

echo Setting up rake environment for building 

echo Installing Bundler 
call gem install bundler 

echo Bundle Installing gems 
call bundle install 
+4

लगता है मणि एक बैचफाइल स्वयं है। पिछली संगतता के लिए पहले संचालित किए गए डॉस के कारण, यह व्यवहार डिज़ाइन द्वारा है: http://stackoverflow.com/questions/11638705/why-does-calling-a-nested-batch-file-without-prepending-call- टू-लाइन-बाहर निकलें – SeanC