2012-12-09 6 views
5

आईडी एक बैच फ़ाइल बनाना पसंद करती है जो उपयोगकर्ता इनपुट से जार एक्स की मात्रा चलाती है। मैंने देखा है कि उपयोगकर्ता इनपुट को कैसे संभाला जाए, लेकिन मुझे पूरी तरह से यकीन नहीं है। इस लूप में मैं जार में भेज रहे पैरामीटर को बढ़ाना चाहता हूं।विंडोज बैच फ़ाइल को कई बार जार फ़ाइल चलाने के लिए

फिलहाल, मैं नहीं जानता कि

  • पाश के लिए में चर हेरफेर, numParam, strParam

तो, जब मैं कमांड लाइन से इस छोटे से बल्ले फ़ाइल को चलाने, मैं उपयोगकर्ता इनपुट करने के लिए कर रहा हूँ हो, लेकिन एक बार यह पाश के लिए करने के लिए हो जाता है, इसे बाहर थूक "कमांड के वाक्यविन्यास गलत

है अब तक मैं निम्नलिखित है

@echo off 

echo Welcome, this will run Lab1.jar 
echo Please enter how many times to run the program 
:: Set the amount of times to run from user input 
set /P numToRun = prompt 


set numParam = 10000 
set strParam = 10000 
:: Start looping here while increasing the jar pars 
:: Loop from 0 to numToRun 
for /L %%i in (1 1 %numToRun%) do (
    java -jar Lab1.jar %numParam% %strParam% 

) 
pause 
@echo on 

कोई भी सुझाव उपयोगी

संपादित होगा: हाल ही में परिवर्तन के साथ, यह मेरी जार फ़ाइल को चलाने के नहीं करता है लगता है। या कम से कम मेरे परीक्षण गूंज कार्यक्रम चलाने के लिए प्रतीत नहीं होता है। यह मेरी उपयोगकर्ता इनपुट चर सेट नहीं की जा रही है कि करने के लिए मैं क्या दर्ज किया है वह, यह 0

उत्तर

1

क्या के साथ हुआ मेरा आखिरी मुद्दों के लिए था कुछ था कैसे चर विस्तारित। यह वास्तव में था dreamincode.net पर जवाब दें: Here

अंतिम कोड:

@echo off 

echo Welcome, this will run Lab1.jar 
:: Set the amount of times to run from user input 
set /P numToRun= Please enter how many times to run the program: 

set /a numParam = 1000 
set /a strParam = 1000 

setlocal enabledelayedexpansion enableextensions 


:: Start looping here while increasing the jar pars 
:: Loop from 0 to numToRun 
for /L %%i in (1 1 %numToRun%) do (
    set /a numParam = !numParam! * 2 
    set /a strParam = !strParam! * 2 
    java -jar Lab1.jar !numParam! !strParam! 

    :: The two lines below are used for testing 
    echo %numParam% !numParam! 
    echo %strParam% !strParam! 
) 

@echo on 
3

में रहता है आप प्रलेखन (प्रकार help for या for /? कमांड लाइन से) पढ़ें लगता है तो आप एक क्रियान्वित करने के लिए सही सिंटैक्स देखेंगे लूप के लिए एक निश्चित संख्या के लिए।

for /L %%i in (1 1 %numToRun%) do java -jar Lab1.jar %numParam% %strParam% 

आप कई पंक्तियों का उपयोग करना चाहते हैं, तो आप या तो उपयोग लाइन निरंतरता

for /L %%i in (1 1 %numToRun%) do^
    java -jar Lab1.jar %numParam% %strParam% 

या कोष्ठकों

for /L %%i in (1 1 %numToRun%) do (
    java -jar Lab1.jar %numParam% %strParam% 
    REM parentheses are more convenient for multiple commands within the loop 
) 
+0

मैं पाश के लिए के लिए मदद पढ़ लिया है और मैं प्रदान की पहले एक को दोहराने के लिए कोशिश कर रहा था। उत्तर के लिए धन्यवाद। यह निश्चित रूप से लूप मुद्दे के साथ मदद करता है – Vnge

संबंधित मुद्दे