Supportnet / Forum / WindowsXP
Jede x-te Zeile aus txt löschen (mit .bat)
Frage
Hi,
ich würde gerne über eine .bat datei aus einer txt datei eine neue erstellen, bei der jeweils nur jede sagen wir fünfte zeile kopiert wird.
Die ersten 7 Zeilen brauche ich garnicht und ab dort jede 5te
habt ihr da ne möglichkeit.
Gibt es eine möglichkeit anzeigen zu lassen wie viele zeilen die datei besitzt? und das man dann eingeben kann welche x-te zeile kopiert werden soll, also wenn ich ne 2 eingebe, jede zweite und bei ner 3 jede dritte.
aber das wäre nur extra, das erste würde schonmal vollkommen reichen.
Antwort 1 von nostalgiker6
Wie wäre es mit dem guten alten QBASIC?
(Kann man sich immer noch herunterladen, und zumindest unter WIN2000 läuft es auch [im DOS-Fenster]):
OPEN "Test.txt" FOR INPUT AS 1
OPEN "Test-out.txt" FOR OUTPUT AS 2
DO
LINE INPUT #1, Zeile$
LET n% = n% + 1
PRINT n%, MID$(Zeile$, 1, 50); "...."
LET i% = i% + 1
IF i% = 7 THEN
LET i% = 2
PRINT #2, Zeile$
PRINT " Zeile geschrieben"
END IF
LOOP UNTIL (EOF(1))
INPUT a%
(Kann man sich immer noch herunterladen, und zumindest unter WIN2000 läuft es auch [im DOS-Fenster]):
OPEN "Test.txt" FOR INPUT AS 1
OPEN "Test-out.txt" FOR OUTPUT AS 2
DO
LINE INPUT #1, Zeile$
LET n% = n% + 1
PRINT n%, MID$(Zeile$, 1, 50); "...."
LET i% = i% + 1
IF i% = 7 THEN
LET i% = 2
PRINT #2, Zeile$
PRINT " Zeile geschrieben"
END IF
LOOP UNTIL (EOF(1))
INPUT a%
Antwort 2 von MarcoP
Und das muss ich jetzt einfach kopieren und in eine Datei einfügen und als .bat speichern?
Antwort 3 von halfstone
Hi MarcoP,
nein das ist kein Inhalt einer .bat Datei. Das geht nur wenn du QBasic installiert hast.
Gruß fabian
nein das ist kein Inhalt einer .bat Datei. Das geht nur wenn du QBasic installiert hast.
Gruß fabian
Antwort 4 von MarcoP
mh das nützt mir dann leider nichts, da ich nicht die berechtigungen habe etwas auf dem pc zu installieren.
könntest mir daraus nicht ne kleine exe erstellen?
also müsste die ersten 7 zeilen der txt löschen.
die txt befindet sich immer im unterordner
Diese txt hat immer eine variable, aber da immer nur eine txt in diesem Ordner vorhanden ist sollte dies kein problem sein.
Danach sollte das Programm dann die Zeilenanzahl durch 32000 teilen und beim ergebniss einfach die kommastellen wegstreichen (also nicht aufrunden).
Danach soll die erste und dann jede x-te Zeile kopiert werden und in eine neue txt gespeichert werden im unterordner
Ist sowas möglich?
könntest mir daraus nicht ne kleine exe erstellen?
also müsste die ersten 7 zeilen der txt löschen.
die txt befindet sich immer im unterordner
\outputDiese txt hat immer eine variable, aber da immer nur eine txt in diesem Ordner vorhanden ist sollte dies kein problem sein.
Danach sollte das Programm dann die Zeilenanzahl durch 32000 teilen und beim ergebniss einfach die kommastellen wegstreichen (also nicht aufrunden).
Danach soll die erste und dann jede x-te Zeile kopiert werden und in eine neue txt gespeichert werden im unterordner
\dataIst sowas möglich?
Antwort 5 von PcDock
Hi,
1. Das zum machen ist kein Problem , aber wieviel Zeilen hatt den diese Txt -Datei.
PcDock
Hardware lebt und ist eigenständig
1. Das zum machen ist kein Problem , aber wieviel Zeilen hatt den diese Txt -Datei.
PcDock
Hardware lebt und ist eigenständig
Antwort 6 von MarcoP
Hi,
die Zeilenzahl ist unterschiedlich.
Es können von 10'000 bis 500'000 zeilen sein.
wichtig wäre nur das wenn die zeilenzahl unter 32'000 ist das er jede zeile eben übernimmt.
gruss
die Zeilenzahl ist unterschiedlich.
Es können von 10'000 bis 500'000 zeilen sein.
wichtig wäre nur das wenn die zeilenzahl unter 32'000 ist das er jede zeile eben übernimmt.
gruss
Antwort 7 von nostalgiker6
Das wäre auch kein Problem. Aber eine exe könnte ICH nicht daraus machen.
QBasic brauch übrigens nicht im WIN-Sinne installiert zu werden - man kann es direkt von einer CD oder Diskette starten. (oder z.B. aus der "Eigenen Dateien")
QBasic brauch übrigens nicht im WIN-Sinne installiert zu werden - man kann es direkt von einer CD oder Diskette starten. (oder z.B. aus der "Eigenen Dateien")
Antwort 8 von PcDock
Hi MarcoP,
1. das mit den durch 32000 teilen hast du dir das uberlegt.?
2. ich glaube da ist doch ein fehler.
3. 500000:32000=~15 und dann das ganze durch die Zahl X-Zeile , da hast am schluss nichts mehr , oder habe ich dich falsch verstanden.?
PcDock
Hardware lebt und ist eigenständig
1. das mit den durch 32000 teilen hast du dir das uberlegt.?
2. ich glaube da ist doch ein fehler.
3. 500000:32000=~15 und dann das ganze durch die Zahl X-Zeile , da hast am schluss nichts mehr , oder habe ich dich falsch verstanden.?
PcDock
Hardware lebt und ist eigenständig
Antwort 9 von MarcoP
@PCDOCK
also wenn wie in deinem Besipiel 15 rauskommt.
dann soll er nur jede fünfzehnte Zeile kopieren.
Da geht eine Menge verloren, aber das ist kein Problem für mich.
also wenn wie in deinem Besipiel 15 rauskommt.
dann soll er nur jede fünfzehnte Zeile kopieren.
Da geht eine Menge verloren, aber das ist kein Problem für mich.
Antwort 10 von PcDock
Hi,
schreib mir mal eine E-Mail auf "PcDock@gmx.net" , kannst das das Programm haben in Exe -form.
PcDock
Hardware lebt und ist eigenständig
schreib mir mal eine E-Mail auf "PcDock@gmx.net" , kannst das das Programm haben in Exe -form.
PcDock
Hardware lebt und ist eigenständig

