online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon guethi vom 05.08.2020, 12:59 Options

batch - Werte addieren

Hallo zusammen,

ich möchte gerne in einem Batch-Skript innerhalb einer Schleife einerseits den Wert des Zählers verwenden, zum anderen aber auch diesen Wert + 1. Der folgende Code liefert aber leider nicht das gwünschte Ergebnis.

...
for /L %%i IN (1,2,%halbeseitenanzahl%) do (
set /a j = %%i% + 1
echo %j%
)
...

Kann mir jemand weiterhelfen?

Danke und beste Grüße

guethi


Antwort schreiben

Antwort 1 von Arno_Nym vom 05.08.2020, 14:04 Options

So richtig weiß ich zwar nicht, was du damit bezwecken willst, aber evtl. geht das eher mit 'ner Subroutine...

...

for /L %%i IN (1,2,%halbeseitenanzahl%) do call :sub1 %%i
goto :ende

:sub1
set /a j = %1 + 1
echo %1, %j%

:ende
...

Arno

Antwort 2 von guethi vom 05.08.2020, 14:11 Options

Hm...blick ich nicht...

:sub1
set /a j = %1 + 1
echo %1, %j%


was macht das %1 ... müsste das nicht %i sein?

LG
guethi

Antwort 3 von Arno_Nym vom 05.08.2020, 14:20 Options

%1 ist (wie auch beim Aufruf einer Batchdatei üblich) der erste der Subroutine übergebene Parameter (hier hat %1 also den Inhalt von %%i, da oben :sub1 mit %%i aufgerufen wird).

Eine korrektere Schreibweise meines Beispiels ist übrigens

for /L %%i IN (1,2,%halbeseitenanzahl%) do call :sub1 %%i
goto :ende

:sub1
set /a j = %1 + 1
echo %1, %j%
goto :ende

:ende

(ist wichtig, um :sub1 ordentlich abzuschließen, falls danach in der Batch nochwas gemacht wird, fällt nur in diesem Beispiel nicht auf)
Arno

Antwort 4 von guethi vom 05.08.2020, 14:33 Options

Ah, jetzt! :-) Vielen Dank!

Wo ich nun gerade einen Batch-kundigen vor mir habe - was hat es denn mit der unterschiedlichen Positionierung der % bei den Variaben auf sich? Mal ist es %i, mal %%i, mal %i% ...

Ich bin in VBA recht fit - bei diesen Batch-Geschichten lerne ich gerade laufen...oder vielmehr krabbeln. ;-)

Liebe Grüße

Christian

Antwort 5 von Arno_Nym vom 05.08.2020, 14:45 Options

Hmm, mal aufdröseln...

%i nimmt man beim FOR-Befehl direkt auf der Kommandozeile.

for ... %i in ... do echo %i

%%i bei Verwendung des FOR-Befehls in einer Batch:

for ... %%i in ... do echo %%i

%i% wäre eine normale Variable, die vorher mit SET gesetzt wurde:

set i = Blabla
echo %i%

Arno

Antwort 6 von guethi vom 05.08.2020, 14:53 Options

Vielen Dank ... ich sehe schon, es wird ein langer Weg :-).

Viele Grüße

Christian

Ähnliche Themen

Werte ganzer Spalten auslesen
Estella  07.08.2007 - 44 Hits - 1 Antwort

Muss man einer function Werte übergeben?
ClaudiaGauss  19.08.2007 - 53 Hits - 2 Antworten

combobox werte aus pivot table zuweisen
Gumlord  29.11.2007 - 93 Hits - 1 Antwort

werte übergeben
totten  27.07.2008 - 8 Hits - 5 Antworten

Werte aus Mehrdimensonales Array in Tabelle (Template) schreiben
Erika  13.08.2008 - 20 Hits - 3 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 09:21:55 2026