2012-12-09 16 views
5

Chciałbym utworzyć plik wsadowy, który uruchamia słoik X ilość razy z danych wprowadzanych przez użytkownika. Szukałem sposobu obsługi danych wprowadzanych przez użytkownika, ale nie jestem całkowicie pewien. W tej pętli chciałbym zwiększyć parametry wysyłane do słoika.Plik wsadowy Windows do wielokrotnego uruchamiania pliku JAR

Jak na razie, nie wiem

  • manipulować zmiennych w pętli for numParam, strParam

Więc, gdy uruchamiam ten mały plik bat z linii poleceń, I get jestem w stanie zrobić wprowadzania danych przez użytkownika, ale gdy robi się dla pętli, to wypluwa „Składnia polecenia jest niepoprawna

do tej pory mam następujące

@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 

Wszelkie sugestie byłoby pomocne

EDIT: z ostatnimi zmianami, ale to nie wydaje się uruchomić mój plik jar. lub przynajmniej nie wydaje się uruchomić mój program echa testowego. Wydaje się, że moja zmienna wejściowa użytkownika nie jest ustawiona na to, co wprowadziłem, pozostaje ona 0

Odpowiedz

1

Co się stało, było dla moich ostatnich problemów było coś z przebiegu zmienne rozszerzone. To był rzeczywiście odpowiedzieć na dreamincode.net: Here

kod końcowa:

@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

Jeśli czytasz dokumentację (typ help for lub for /? z wiersza poleceń), zobaczysz poprawną składnię do wykonania FOR pętlę ustaloną liczbę razy.

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

Jeśli chcesz korzystać z wielu linii, wtedy musisz albo wykorzystanie linii kontynuacją

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

lub nawiasy

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

Czytałem pomoc dla pętli for i starałem się powtórzyć pierwszy przewidziany. Dzięki za odpowiedź. To zdecydowanie pomaga w przypadku pętli for – Vnge

Powiązane problemy