komma separierte textdatei per for-next schleife auslesen
Hallo!
Ich habe eine server.txt datei mit folgendem Inhalt: server1,server2,server3...usw diese würde ich gern auslesen ! (...um der frage vorwegzu greifen JA die datei muss genauso aufgebaut sein!)
mir ist klar das wenn die Datei wie folgt aussehen würde alles palletti wäre:
server1<-CRLF
server2
server3
usw.
zum testen habe ich folgendes probiert...was natürlich auch wunderbar funktioniert...
FOR /F "tokens=1-3 delims=," %a IN (c:\batch\server.txt) DO echo %a %b %c
...das ist aber nicht das was ich möchte...die for schleife sollte meine text datei so auslesen das ich als wert %%a jeden server nacheinander ansprechen kann !
mein nächster gedanke war ..evtl. kann ich mit einem tool (zb. sed oder gsar) die kommas durch zeilenumbrüche erstzen lassen !?
...aber mit den zeilenumbrüchen in einer batch ist das ja soone sache !!! habe im intenet nichts gefunden was da wirklich funzt!!!
zb. so :
FOR /F "tokens=1" %a IN ('gsar -f, -r?? server.txt') DO echo %a
aber evtl. hat ja jemand von euch noch eine ganz andere idee !?
mfg
D.Bernsee
Ich habe eine server.txt datei mit folgendem Inhalt: server1,server2,server3...usw diese würde ich gern auslesen ! (...um der frage vorwegzu greifen JA die datei muss genauso aufgebaut sein!)
mir ist klar das wenn die Datei wie folgt aussehen würde alles palletti wäre:
server1<-CRLF
server2
server3
usw.
zum testen habe ich folgendes probiert...was natürlich auch wunderbar funktioniert...
FOR /F "tokens=1-3 delims=," %a IN (c:\batch\server.txt) DO echo %a %b %c
...das ist aber nicht das was ich möchte...die for schleife sollte meine text datei so auslesen das ich als wert %%a jeden server nacheinander ansprechen kann !
mein nächster gedanke war ..evtl. kann ich mit einem tool (zb. sed oder gsar) die kommas durch zeilenumbrüche erstzen lassen !?
...aber mit den zeilenumbrüchen in einer batch ist das ja soone sache !!! habe im intenet nichts gefunden was da wirklich funzt!!!
zb. so :
FOR /F "tokens=1" %a IN ('gsar -f, -r?? server.txt') DO echo %a
aber evtl. hat ja jemand von euch noch eine ganz andere idee !?
mfg
D.Bernsee
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 91642
Url: https://administrator.de/contentid/91642
Ausgedruckt am: 25.11.2024 um 04:11 Uhr
4 Kommentare
Neuester Kommentar
Moin dbernsee,
willkommen im Forum.
Wenn Du die Werte partout in eine Ein-Server-pro-Zeile-Liste schreiben möchtest, dann kannst Du es so machen:
...vom CMD-Prompt aus. Und das Ganze ggf. in eine neue Datei (mit ">"9 oder eine vorhandene (mit ">>") umleiten.
Andererseits: Mach es doch einfach mit einer zeilenweisen Abarbeitung je 3 Server nacheinander (wenn die halt so in der Datei stehen),
Batch:
Grüße
Biber
P.S. Hier im Forum ### es vielleicht nicht, aber es funktioniert.
willkommen im Forum.
Wenn Du die Werte partout in eine Ein-Server-pro-Zeile-Liste schreiben möchtest, dann kannst Du es so machen:
for /f "delims=, tokens=1-3" %a in (server.txt) do @((echo %a) &(echo %b) &@(echo %c))
Andererseits: Mach es doch einfach mit einer zeilenweisen Abarbeitung je 3 Server nacheinander (wenn die halt so in der Datei stehen),
Batch:
@echo off & setlocal
for /f "delims=, tokens=1-3" %%a in (server.txt) do (
call :machwatmit %%a
call :machwatmit %%b
call :machwatmit %%c
)
goto :eof
:machwatmit param1 ist der Servername
echo jetzt wird Server %1 bearbeitet...
echo bla...
goto :eof
Grüße
Biber
P.S. Hier im Forum ### es vielleicht nicht, aber es funktioniert.