Textdatei, bestimmte Stellen in einer Zeile entfernen
Hallo,
ich hab auf dem Rechner eine Textdatei, dessen Inhalt so ähnlich aussieht:
Spalte1: Spalte2: Spalte3:
blabla 374 563
blabla 639 456
blablub 345 dfga
Ich will die Spalte2 und Spalte3 und alles was darunter steht entfernen, nur per Hand würde es
sehr lange dauern, da die Datei ziemlich groß ist.
Hier im Forum fand ich dann jemand, der so ein ähnliches Problem hatte, nur der wollte Spalte1 und
alles was darunter liegt entfernen.
Wie bestimmte Stellen in Zeilen aus .txt entfernen
Weiß jemand wie man das mit Bat oder VBS macht?
danke
ich hab auf dem Rechner eine Textdatei, dessen Inhalt so ähnlich aussieht:
Spalte1: Spalte2: Spalte3:
blabla 374 563
blabla 639 456
blablub 345 dfga
Ich will die Spalte2 und Spalte3 und alles was darunter steht entfernen, nur per Hand würde es
sehr lange dauern, da die Datei ziemlich groß ist.
Hier im Forum fand ich dann jemand, der so ein ähnliches Problem hatte, nur der wollte Spalte1 und
alles was darunter liegt entfernen.
Wie bestimmte Stellen in Zeilen aus .txt entfernen
Weiß jemand wie man das mit Bat oder VBS macht?
danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 135032
Url: https://administrator.de/forum/textdatei-bestimmte-stellen-in-einer-zeile-entfernen-135032.html
Ausgedruckt am: 17.04.2025 um 04:04 Uhr
10 Kommentare
Neuester Kommentar
Hallo user90!
Gibt es ein Trennzeichen zwischen den Spalten oder eine feste Spaltenbreite?
@DrAlcome
Soferne es sich um eine einmalige Aktion handelt und daher Automatisierung kein Thema ist, hast Du völlig Recht ...
Grüße
bastla
Gibt es ein Trennzeichen zwischen den Spalten oder eine feste Spaltenbreite?
@DrAlcome
Soferne es sich um eine einmalige Aktion handelt und daher Automatisierung kein Thema ist, hast Du völlig Recht ...
Grüße
bastla
Hallo user90!
Dann kannst Du die Datei in Excel öffnen und "Feste Breite" wählen ...
... bzw folgenden Batch verwenden:
Probleme könnte es mit dem Batch geben, wenn in der ersten Spalte bestimmte Sonderzeichen (<|>&) enthalten sind.
Grüße
bastla
Dann kannst Du die Datei in Excel öffnen und "Feste Breite" wählen ...
... bzw folgenden Batch verwenden:
@echo off & setlocal
set "Ein=D:\Import.txt"
set "Aus=D:\Spalte1.txt"
del "%Aus%" 2>nul
for /f "usebackq delims=" %%i in ("%Ein%") do set "Zeile=%%i" & call :ProcessLine
goto :eof
:ProcessLine
>>"%Aus%" echo %Zeile:~,33%
goto :eof
Grüße
bastla
Hallo user90!
Scheitert aber eigentlich nur daran, dass ein Zeichen zuviel verwendet wird (ich hatte mich an Deinem Beispiel oben orientiert - wobei in den ersten beiden Zeilen 33 und in der dritten Zeile nur 32 Zeichen für die Spalte1 aufscheinen - und zur Sicherheit den größeren Wert genommen) - lässt sich aber leicht durch Änmderung des Wertes in der Zeile 10 anpassen.
Aber, wie gesagt, wenn Du das ohnehin nicht öfters brauchst ...
Grüße
bastla
P.S.: Bei Verwendung von -Formatierung wäre Dir die unterschiedliche Zeichenanzahl auch aufgefallen ...
Scheitert aber eigentlich nur daran, dass ein Zeichen zuviel verwendet wird (ich hatte mich an Deinem Beispiel oben orientiert - wobei in den ersten beiden Zeilen 33 und in der dritten Zeile nur 32 Zeichen für die Spalte1 aufscheinen - und zur Sicherheit den größeren Wert genommen) - lässt sich aber leicht durch Änmderung des Wertes in der Zeile 10 anpassen.
Aber, wie gesagt, wenn Du das ohnehin nicht öfters brauchst ...
Grüße
bastla
P.S.: Bei Verwendung von -Formatierung wäre Dir die unterschiedliche Zeichenanzahl auch aufgefallen ...
Hallo user90!
:
Diese Version hat sogar einen kleinen Zusatznutzen: Die Leerzeichen am Ende der einzelnen Felder werden entfernt ...
Grüße
bastla
vllt. werd ich es noch öfters brauchen
Na, dann lege ich noch die VBS-Variante drauf EinDatei = "D:\Import.txt"
AusDatei = "D:\Spalte1.txt"
Spaltenbreite = 32
Set fso = CreateObject("Scripting.FileSystemObject")
Set Aus = fso.CreateTextFile(AusDatei)
For Each Zeile In Split(fso.OpenTextFile(EinDatei).ReadAll, vbCrLf)
Aus.WriteLine RTrim(Left(Zeile, Spaltenbreite))
Next
Aus.Close
Grüße
bastla