knechtibus
Goto Top

Per Batch Sonderzeichen beim Auslesen einer Datei nicht mit kopieren

Hallo zusammen,

habe folgendes Problem. Ich lasse aus einer Textdatei mittels "findstr" einzelne Strings auslesen und kopiere diese dann in eine neue Datei. Vor manchen dieser Strings steht nun leider unmittelbar das Sonderzeichen "ÿ". Dieses soll aber beim kopieren mittels findstr nicht in die Datei übernommen werden. Mein Ansatz sieht aus wie folgt, funktioniert aber leider nicht:

@echo off 
if exist name2.txt del name2.txt 
for /f %%i in ('type quelle2.txt^|tr " " "\n"^|tr -d "ÿ"^|findstr L0') do echo %%i>>name2.txt   

Die Batch soll also die Datei quelle2.txt nach allen Strings durchsuchen die mit L0 anfangen und in die Datei name2.txt schreiben. Dabei soll aber das ÿ nicht mit übernommen werden. Ich frag mich nun, was mach ich falsch?

Freue mich auf eure Antworten.

MfG knechtibus

Content-ID: 112286

Url: https://administrator.de/forum/per-batch-sonderzeichen-beim-auslesen-einer-datei-nicht-mit-kopieren-112286.html

Ausgedruckt am: 23.12.2024 um 09:12 Uhr

pieh-ejdsch
pieh-ejdsch 22.05.2009 um 20:40:45 Uhr
Goto Top
Hallo knechtibus

Ich weis ja nicht was für einen teil Du von Deiner quelle2.txt auslesen willst
was macht überhaupt der Befehl tr ?

for /f %%i in ('find "L0" quelle2.txt') do set "text=%%i" & call :raus
goto :eof
:raus
echo %text:ÿ=%>>name2.txt
knechtibus
knechtibus 07.08.2009 um 12:00:47 Uhr
Goto Top
Hallo pieh-edjsch,

ich schreib jetzt mal ganz unter dem Motto besser spät als nie face-smile
Der Befehl tr ist der Aufruf einer kleinen externen Anwendung. Hab es jetzt vielleicht über einen kleinen Umweg, aber immerhin lösen können. Hier meine Lösung:

@echo off & setlocal
if exist name2.txt del name2.txt 
for /f "tokens=1 delims=ÿ" %%i in ('type quelle2.txt^|tr " " "\n"^|tr -d "#"^|findstr L0') do echo %%i>>name2.txt  

Ist zwar nicht sehr elegant aber es erfüllt seinen Zweck.

MfG
knechtibus