Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Letzen 15 Zeichen oder die ersten 34 Zeichen einer Zeile in .txt löschen

Mitglied: bodor21

bodor21 (Level 1) - Jetzt verbinden

30.10.2009 um 10:26 Uhr, 6171 Aufrufe, 6 Kommentare

Hallo,

es geht mal wieder um Zeilen per Patch zu editieren, die Suchfunktion ergab leider zu meinem Problem keine Lösung.

Gruß

bodor21

Ich möchte per Patch Datei die letzten 15 Zeichen jeder Zeile löschen.
Es geht aber auch alles ab dem 34 Zeichen jeder Zeile zu löschen, je nachdem was einfacher ist.

Die Textdatei test.txt hat ca. 200 Zeilen
Der Zeilenaufbau ist wie folgt:

Code:Polizei=NOTRUF110,Region=1540,NR=27873,Breite=E362CC0;
Code:Polizei=NOTRUF110,Region=1531,NR=27873,Breite=E362C00C0;
Code:Polizei=NOTRUF110,Region=134,NR=27873,Breite=E361CC0;
.
.
.

Hinter dem letzten Zeichen ; sind noch 2 Leerzeichen, die man hier leider nicht sieht.
Die Zeilenlänge variert um max. 4 Zeichen
Mitglied: Marwed
30.10.2009 um 11:06 Uhr
Hallo,

Schema:
- Datei zeilenweise einlesen
- Prüfen, ob sie zu filtern ist (falls nötig)
- Filtern und Ausgabe

Verzögerte Variablenerweiterung aktivieren: SETLOCAL ENABLEDELAYEDEXPANSION

Beispiele:
Zeile Einlesen: for /F "tokens=*" %%i in ( 'type %SFILE%' ) do (
Prüfen: for /F "tokens=*" %%j in ( 'echo "%%i" ^| findstr /P "Name"' ) do (
Zeile in Variable: set EINGABEZEILE=%%i
Filtern: set AUSGABEZEILE=!EINGABEZEILE:~45,-11!
(Beginne beim 46. Zeichen (Offset=45) von links und übernimm alle Zeichen bis auf die letzten 11.)
Ausgabe: ... in der mitleren Schleife mit >> in Ausgabedatei ablegen.

Weitere Einzelheiten findest Du auf Deinem eigenen Rechner in der Befehlszeilenrefenz (C:\WINDOWS/Help/ntcmds.chm)

Gruß,
Marwed
Bitte warten ..
Mitglied: Farbauti
30.10.2009 um 13:16 Uhr
Hallo,

wenn ich's richtig verstanden habe, willst du den Eintrag "Breite...." löschen.
Da deine Datei schon so hübsch aufbereitet ist, bieten sich die Kommas als Trennzeichen an:

01.
set INFILE=test.txt 
02.
set OUTFILE=testout.txt 
03.
FOR /F "eol=; tokens=1,2,3 delims=, " %%i in (%INFILE%) do ( 
04.
	echo %%i,%%j,%%k >> %OUTFILE% 
05.
)
Mit %%i = Code:Polizei=NOTRUF110
%%j = Region=...
%%k = NR=...

Gruß, Farbauti.
PS: Batch und Patch sind zwei verschiedene Sachen ;)
Bitte warten ..
Mitglied: bastla
30.10.2009 um 15:16 Uhr
Weitere Einzelheiten findest Du auf Deinem eigenen Rechner in der Befehlszeilenrefenz (C:\WINDOWS/Help/ntcmds.chm)
... und (wenn Du das wirklich so machen wolltest) schau Dir auch gleich "setlocal enabledelayedexpansion" an ...
[Edit] @Marwed: Entweder hatte ich Deinen Hinweis zu "delayedExpansion" überlesen (ist ja auch so unscheinbar formatiert ), oder Du hast diesen erst nachträglich hinzugefügt - anyhow, doppelt hält eh besser ... [/Edit]
Sinnvoller scheint allerdings auch mir die von Farbauti angesprochene Möglichkeit, die Zeile anhand der enthaltenen Kommata zu zerlegen, wobei mir allerdings das angestrebte Ziel noch nicht ganz klar ist: Alles ab dem 34. Zeichen zu löschen bringt auf Basis der dargestellten Beispielzeilen definitiv andere Ergebnisse als das Löschen der letzten 15 Zeichen - wie sollen daher die bearbeiteten Zeilen tatsächlich aussehen?

Grüße
bastla
Bitte warten ..
Mitglied: Marwed
30.10.2009 um 17:59 Uhr
.. stimmt, so its's eleganter, kürzer !

WENN die Zeilen alle so schön fein hübsch gleich sind ...
Falls nicht, ist meine (umständlichere) Methode flexibler ...
Eben je nach Bedarf.
Marwed
Bitte warten ..
Mitglied: bodor21
30.10.2009 um 22:32 Uhr
Hallo,

@all
das mit den letzten 15. Zeichen oder ab den 34 Zeichen löschen war nur ein Beispiel um den Batch universal zu gestalten.
So kann ich ihn vielleicht einfach nach meinen Dateien anpassen, die ich bearbeiten will.
Ich hatte vor Monaten schon einmal eine ähnliche Anfrage zu Thema gestellt, doch die Lösung war mir im Nachhinein zu umständlich.
Jetzt bin ich mal wieder an den Thema dran und hab mir überlegt, das es mir reichen würde automatisch zu kürzen und den Rest, der ist dann in Jeder Zeile gleich, mit der Ersetzfunktion des Editors zu bearbeiten.
Leider bin ich ein absoluter Anfänger in Batchprogrammierung und kann nicht viel Zeit zum Erlernen der Batchprogrammierung stecken, wenn ich nur 2 oder 3 Batchfiles in 2 Jahren benötige. Sorry wenn ich euch dafür bemühe und mir deswegen böse sein könntet.
Den Unterschied zwischen Patchen und Batchdatei kenne ich genau, nur meine Finger können das beim Schreiben nicht immer trennen )

Also aus

Code:Polizei=NOTRUF110,Region=134,NR=27873,Breite=E361CC0;

soll

Code:Polizei=NOTRUF110,Region=134;

werden.
Ja man kann auch sagen ab dem 2. Komma jede Zeile abschneiden und ein Semikolon als letztes Zeichen setzten.
Wenn das noch einfacher ist, dann prima, bin ich nur nicht drauf gekommen.

Ich hoffe die Sache etwas entwirrt zu haben.

Viele Grüße

Bodor21
Bitte warten ..
Mitglied: bastla
31.10.2009 um 08:19 Uhr
Hallo bodor21!

Die Trennzeichen-Variante ist sicherlich flexibler, da eben die Zeichenanzahl dabei auch unterschiedlich sein kann. Unter Berücksichtigung der Tatsache, dass die Ausgabe immer an die Zieldatei angefügt wird, sollte eine ev bereits vorhandene Datei vorweg noch gelöscht werden - das Ganze sähe dann etwa so aus:
01.
@echo off & setlocal 
02.
set "INFILE=D:\Nur ein Test\test.txt" 
03.
set "OUTFILE=D:\Nur ein Test\testout.txt" 
04.
 
05.
del "%OUTFILE%" 2>nul 
06.
FOR /F "usebackq tokens=1-2 delims=," %%i in ("%INFILE%") do echo %%i,%%j;>>"%OUTFILE%"
Wenn es tatsächlich einmal nötigt sein sollte, anhand der Zeichenanzahl aufzuteilen, hast Du mit Marweds Vorschlag eine Basis dafür.

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Per Batch erste 15 Zeichen in jeder Zeile einer Textdatei lassen. Den Rest - löschen. Wie?

gelöst Frage von takitanoBatch & Shell9 Kommentare

Hallo an alle, ich habe folgendes Problem: in einer Texdatei habe ich ca. 60.000.000 Zeilen (453 MB) Jede Zeile ...

Batch & Shell

Batch um Zeichen aus erster und letzter Zeile einer TXT Datei zu löschen

Frage von Bobby0712Batch & Shell2 Kommentare

Hallo. Wie der Titel schon sagt suche ich eine möglichkeit wie ich aus einer TXT Datei aus der ersten ...

Batch & Shell

Batch um erste Zeile einer CSV zu löschen

gelöst Frage von chris1987.1Batch & Shell6 Kommentare

Hallo, im Rahmen meiner Masterarbeit muss ich eine Vielzahl von csv Dateien untersuchen. Hierbei muss ich einige dieser Dateien ...

Batch & Shell

Batch: Mehrere .txt Dateien zu einer zusammenfügen, dabei jeweils die erste Zeile löschen

gelöst Frage von v.piepmatzBatch & Shell5 Kommentare

Hallo, ich bin leider kompletter Neueinsteiger bzgl. batch-Dateien, suche jetzt aber eine Möglichkeit mehrere .txt Dateien, welche in einem ...

Neue Wissensbeiträge
Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 6 StundenSicherheit

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 16 StundenInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 1 TagErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 1 TagWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Heiß diskutierte Inhalte
Server
Route-Befehl Unterstützung (unter CMD)
gelöst Frage von FKRR56Server36 Kommentare

Guten Tag , i.M. habe ich Probleme über den CMD-Route-Befehl ein Routing auf einen entfernten Server zuzulassen. Der Server ...

Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1028 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgbornMicrosoft17 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Webbrowser
Welcher Browser ist der Beste?
Frage von justtinWebbrowser15 Kommentare

Hallo Leute Ich habe eine interessante Frage. Mich wurde mal interessieren welcher Browser ist eure meinung nach der beste? ...