Zeile für Zeile auslesen mit funktioniert nicht nicht ....
Hallo,
also ich bin neu hier im Forum und hab eine frage die ich zuerst hier stelle da ich den Code gröstenteils von hier habe....
Nun zu meinme Problem,
Ich habe eine .txt mit insgesamt 2394 Zeilen, diese Zeilen muss ich zeile für zeile in ein Satz reinbekommen...
z.B. :
Martin feiert am "Zeile1".
Martin feiert am "Zeile2".
Martin feiert am "Zeile3".
usw....
meine Batch sieht bisher so aus:
Ich denke der Code sollte sich soweit von selbst erklären wenn nicht bitte fragen.
Das problem ist nur das ich trotz "set /a n+=1" immer nur die erste Zeile ausgegeben bekomme...
Ich kann mir nicht erklären woran das liegt bitte um hilfe
also ich bin neu hier im Forum und hab eine frage die ich zuerst hier stelle da ich den Code gröstenteils von hier habe....
Nun zu meinme Problem,
Ich habe eine .txt mit insgesamt 2394 Zeilen, diese Zeilen muss ich zeile für zeile in ein Satz reinbekommen...
z.B. :
Martin feiert am "Zeile1".
Martin feiert am "Zeile2".
Martin feiert am "Zeile3".
usw....
meine Batch sieht bisher so aus:
@echo off
Set /a "cnt=1"
Set /a "n=1"
:A
echo %n%
for /F "Tokens=*" %%i in (Test.txt) do call :setvarFixLine %n% "%%i"
Echo $su = "%Var%"
set /a n+=1
if %n%==2394 goto :eof
goto A
:setvarFixLine
If %cnt%==%1 Set "Var=%~2"
Set /a "cnt+=1"
goto :eof
Ich denke der Code sollte sich soweit von selbst erklären wenn nicht bitte fragen.
Das problem ist nur das ich trotz "set /a n+=1" immer nur die erste Zeile ausgegeben bekomme...
Ich kann mir nicht erklären woran das liegt bitte um hilfe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 01.08.2009 um 03:24:21 Uhr
Okay, gelöst ist es jetzt.
Kann aber eigentlich nicht daran liegen, dass jemand die Aufgabenstellung verstanden hat.
Ich denk noch mal in Ruhe über den passenden Bereich nach.
Kann aber eigentlich nicht daran liegen, dass jemand die Aufgabenstellung verstanden hat.
Ich denk noch mal in Ruhe über den passenden Bereich nach.
Content-ID: 121700
Url: https://administrator.de/contentid/121700
Ausgedruckt am: 24.11.2024 um 12:11 Uhr
13 Kommentare
Neuester Kommentar
Hallo S3RB31und willkommen im Forum!
Weshalb brauchst Du einen Zähler?
Um nur die angegebenen Ausgaben zu erzeugen, würde ja eigentlich
direkt von der Kommandozeile (oder mit %%i in einem Batch) genügen ...
Sollen es aber tatsächlich nur die ersten 2394 Zeilen sein, dann eben:
Grüße
bastla
[Edit] Der Übersicht wegen noch zwei @ eingebaut [/Edit]
Weshalb brauchst Du einen Zähler?
Um nur die angegebenen Ausgaben zu erzeugen, würde ja eigentlich
for /f "delims=" %i in (Test.txt) do @echo $su = %i
Sollen es aber tatsächlich nur die ersten 2394 Zeilen sein, dann eben:
for /f "tokens=1* delims=:" %i in ('findstr /n "^" "Test.txt"') do @if %i leq 2394 @echo $su = %j
bastla
[Edit] Der Übersicht wegen noch zwei @ eingebaut [/Edit]
Hallo S3RB31!
Grüße
bastal
Ah ok vielen Dank für die Hilfe es hat zwar nicht ganz so geklappt wie ich es gedacht hatte aber letztendlich hab ich das was ich haben wollte.
Alle zukünftigen Leser dieses Threads (falls ihn Biber denn erhaltenswert finden sollte), werden sich bestimmt aufgrund Deiner aufschlussreichen Zusammenfassung mit Dir freuen ...Grüße
bastal
Hallo S3RB31!
Möchtest Du vielleicht noch einmal, möglichst konkret, beschreiben, was Du zu erreichen versuchst?
Nach den nicht allzu konkreten Hinweisen im Laufe dieses Threads könnte ich zwar vermuten, dass Du eine neue Datei erstellen willst, welche für jede Zeile (und nicht nur für eine bestimmte Anzahl davon) der alten Datei als neue Zeile
enthalten soll - dann könntest Du es mit folgendem Batch versuchen:
Falls es das nicht sein sollte, dann bitte eine nachvollziehbare Beschreibung des gewünschten Ergebnisses (bzw Ablaufs).
Grüße
bastla
Möchtest Du vielleicht noch einmal, möglichst konkret, beschreiben, was Du zu erreichen versuchst?
Nach den nicht allzu konkreten Hinweisen im Laufe dieses Threads könnte ich zwar vermuten, dass Du eine neue Datei erstellen willst, welche für jede Zeile (und nicht nur für eine bestimmte Anzahl davon) der alten Datei als neue Zeile
$su = "Zeileninhalt"
@echo off & setlocal
set "Alt=D:\Test.txt"
set "Neu=D:\Neu.txt"
if exist "%Neu%" del "%Neu%"
for /f "usebackq delims=" %%i in ("%Alt%") do >>"%Neu%" echo $su = "%%i"
Grüße
bastla