myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Batch Skript Counter zählt nich hoch (https://mygully.com/showthread.php?t=2665578)

Gun_der 24.07.12 20:19

Batch Skript Counter zählt nich hoch
 
Hallo Leute
Ich habe folgendes geschrieben:
Code:

@echo on
set counter=0
set counter2=0
set rev=""
FOR /f "tokens=1 delims=" %%a in (info.txt) do (
set /A counter+=1

if %%a==Brancherstellung goto next

)

:next

FOR /f "tokens=1" %%a in (info.txt) do (
set /A rev=%%a
set /A counter2+=1
if %counter2%==%counter%-1 goto: ausgabe


)

:ausgabe
echo %rev%

Meine Frage: Warum zählt der counter2 nicht hoch?

mande 25.07.12 17:13

Falls es nicht beabsichtigt war, die beiden Schleifen sind unterschiedlich. Bei der ersten schmeist du die Standard Delimiter Tab sowie Leerzeichen weg.

Bei if werden keine Ausdrücke ausgewertert, es wird nur die Zeichenfolge verglichen. Da die Zeichenfolge 4 ungleich 5-1 ist wird der Sprung sowieso nicht funktionieren.

Was hast du überhaupt vor? Du willst die Zeile vor der von Brancherstellung ausgeben?

Code:

FOR /f "tokens=1 delims=" %%a in (info.txt) do (
if "%%a"=="Brancherstellung" goto end
set rev=%%a
)
:end
echo %rev%


Melphiz 30.07.12 14:44

Steht in jeder Zeile nur EIN Wert oder warum gibt es kein Trennzeichen?
GOTO in einer FOR-Schleife funktioniert generell nicht.

Eine Erklärung des Vorganges wäre sinnvoller als das Kopfzerbrehchen über ein nichtfunktionierendes Skript ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:28 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.