Variable wert bei Tokens in Forschleife verwenden
Variable wert bei Tokens in Forschleife verwenden
Hallo
ich habe folgendes problem:
habe eine Batchdatei dei eine TXT Datei Ausliest mit wo mehrere Tokens auf einer Zeile sind was varieren kann es können 20 sein 50 pder mehr oder weniger
dafür habe ich eine for schleife gemacht
for /L (1,1,100) %%i DO (...)
die zahl %%i bekommt er auch schritt weisse
nun will ich in der DO(...) eine zweite for schleife rein haben die ausließt
DO( for /F "tokens=%%i Delim=;" ...
und bei tokens soll die variable rein die er von der ersten schleife bekommtaber er über gibt da keine zahl
wie kann man das realiesieren?
Hallo
ich habe folgendes problem:
habe eine Batchdatei dei eine TXT Datei Ausliest mit wo mehrere Tokens auf einer Zeile sind was varieren kann es können 20 sein 50 pder mehr oder weniger
dafür habe ich eine for schleife gemacht
for /L (1,1,100) %%i DO (...)
die zahl %%i bekommt er auch schritt weisse
nun will ich in der DO(...) eine zweite for schleife rein haben die ausließt
DO( for /F "tokens=%%i Delim=;" ...
und bei tokens soll die variable rein die er von der ersten schleife bekommtaber er über gibt da keine zahl
wie kann man das realiesieren?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 60994
Url: https://administrator.de/forum/variable-wert-bei-tokens-in-forschleife-verwenden-60994.html
Ausgedruckt am: 21.05.2025 um 12:05 Uhr
6 Kommentare
Neuester Kommentar
Moin Dipps,
Demo am CMD-Prompt mit einer (zufällig vorhandenen) Textdatei:
Gruß Biber
P.S. Ich würde mich freuen, wenn Du Deinen eigentlich inhaltlich deutlichen und strukturierten Beitrag noch mal bitte tippfehlerbereinigst. So musste zumindest ich die Frage doch anderthalbmal oder so lesen...
Danke.
Demo am CMD-Prompt mit einer (zufällig vorhandenen) Textdatei:
>type test37.txt
AuthType Basic
AuthName "Service-Bereich"
AuthUserFile /usr/verwaltung/web/.htusers
Require valid-user
Order deny,allow
Deny from all
Allow from
Satisfy any
>for /L %i in (1,1,20) do @cmd /C for /f "tokens=%i" %j in (test37.txt) do @echo i:[%i] j:[%j]
>for /L %i in (1,1,20) do @cmd /C for /f "t
i:[1] j:[AuthType]
i:[1] j:[AuthName]
i:[1] j:[AuthUserFile]
i:[1] j:[Require]
i:[1] j:[Order]
i:[1] j:[Deny]
i:[1] j:[Allow]
i:[1] j:[Satisfy]
i:[2] j:[Basic]
i:[2] j:["Service-Bereich"]
i:[2] j:[/usr/verwaltung/web/.htusers]
i:[2] j:[valid-user]
i:[2] j:[deny,allow]
i:[2] j:[from]
i:[2] j:[from]
i:[2] j:[any]
i:[3] j:[all]
Gruß Biber
P.S. Ich würde mich freuen, wenn Du Deinen eigentlich inhaltlich deutlichen und strukturierten Beitrag noch mal bitte tippfehlerbereinigst. So musste zumindest ich die Frage doch anderthalbmal oder so lesen...
Danke.
Moin Dipps,
Beispiel:
Gruß
Biber
P.S. hattest Du das P.S. in meinem vorangegangenen Kommentar gelesen?
wenn ich set zahl=%zahl%+1 mache nimmt er es ja als text string
Mit "Set /a" kann der CMD-Interpreter neuerdings auch "rechnen"Beispiel:
Set zahl=1
Set zahl=%zahl%+1
:: --->Ergebnis %zahl% ist [1+1] <i>als String</i>
Set zahl=1 <i>oder richtiger: Set /a zahl=1</i>
Set /a zahl=%zahl%+1
::---> Ergebnis %zahl% ist [2] <i>als Zahl</i>
Gruß
Biber
P.S. hattest Du das P.S. in meinem vorangegangenen Kommentar gelesen?
Moin Dipps,
das würde folgender Oneliner vom CMD-Prompt für Dich tun:
[Statt "Dein.txt" natürlich Pfad und Namen Deiner Datei.]
Anschließend steht in der Variablen %max% das "höchste" Token, z.B. 28, falls eine Zeile mit 28 Token dabei war.]
A propos etwas für jemanden tun, ohne sich lange zu zieren:
Hast Du mein P.S. im vorangegangenen Kommentar gelesen?
P.S. Hast Du denn auch mein P.S. im vorangegangenen vorangegangenen Kommentar gelesen und verstanden?
Grüße
Biber
das würde folgender Oneliner vom CMD-Prompt für Dich tun:
>Set /a "max=0" & for /l %x in (5,1,60) do @cmd /c for /f "tokens=%x" %i in (dein.txt) do @if %x GTR %max% set /a "max=%x"
Anschließend steht in der Variablen %max% das "höchste" Token, z.B. 28, falls eine Zeile mit 28 Token dabei war.]
A propos etwas für jemanden tun, ohne sich lange zu zieren:
Hast Du mein P.S. im vorangegangenen Kommentar gelesen?
P.S. Hast Du denn auch mein P.S. im vorangegangenen vorangegangenen Kommentar gelesen und verstanden?
Grüße
Biber