Supportnet Computer
Planet of Tech

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%

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

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

\output


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

\data


Ist 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

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

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")

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

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.

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

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: