online 1
gast (50)

/ Forum / WindowsXP

WindowsXPWindowsXP

Fragevon batasdur vom 07.09.2020, 09:21 Options

per batch in ienr datei einen buschtaben ersetzen?

Hallo!

ich will in einer txt datei einen buchstaben, z.B. "ö" mit einem ander, z.B.
"s" ersetzen.

Geht das?
wie?


vielen dank schonmal!!


Antwort schreiben

Antwort 1 von MarisaS vom 07.09.2020, 09:28 Options

Hallo,
Start - Alle Programme - Zubehör - Editor
damit die Datei öffenen, dann Bearbeiten und unter Ersetzen bei Suchen nach: ö und bei Ersetzen mit: S eingeben, dann auf alle ersetzen clicken.
LG
Marisa

Antwort 2 von batasdur vom 07.09.2020, 09:41 Options

hi!

ich glaube ich habem ich ein bischen unklar ausgedrückt, tut mir leid!

ich will das eben automatisiren und per BATCH datei ablaufen lassen...

Antwort 3 von batti-batch vom 10.09.2020, 20:58 Options

Hallo batasdur,


das Suchen und Ersetzen gehört wohl zu den am meisten angefragten Problemen bei der Batch-Programmierung.
Zu diesem Thema gab es schon mal einen Thread http://www.supportnet.de/threads/1623749 "Anführungszeichen aus .txt Datei löschen", in dessen Antwort 1 ich eine Lösung vorgestellt hatte.
Die hier gezeigte Version ist eine Weiterentwicklung meines im o.g. Thread gezeigten Batch-Programms. In der neuen Version habe ich auf eine mit CALL aufgerufende Subroutine verzichtet; was die Sprünge überflüssig macht - der dadurch entstehende Zeitvorteil dürfte sich bei großen Dateien spürbar bemerkbar machen.

Auch bei diesem Script gilt: Anpassungen kannst Du ganz leicht vornehmen, in dem Du die entsprechenden Änderungen im SET-Block vornimmst:

REM ************************ SET-Block Beginn *********************

SET "quell_datei=Laufwerk_Pfad_und_Name_Deiner_Textdatei"
SET "ausgabe_datei=Laufwerk_Pfad_und_Name_Deiner_Ausgabedatei"
SET "suchzeichen=ö"
SET "ersetzungszeichen=s"

REM ************************ SET-Block Ende ***********************


Wenn Du ein bestimmtes Zeichen (oder eine Zeichenfolge) nur entfernen möchtest, kannst Du die Zeile

SET "ersetzungszeichen=s"
in
SET "ersetzungszeichen="
änderst.

Deine Textdatei wird aus Sicherheitsgründen durch das Programm nicht verändert. Der Inhalt Deiner Datei wird, mit allen Änderungen, in eine neue Datei geschrieben.

Hier nun das vollständige Programm:


@ECHO off
SETLOCAL enabledelayedexpansion

REM
REM Testprogramm
REM Ersetzen von Zeichen(folgen) 
REM Das Ergebnis wird in eine neue Datei geschrieben
REM http://www.supportnet.de/threads/2150740
REM
REM (c) batti-batch 09/2008
REM
REM getestet unter Windows 2000
REM 

REM ************************ SET-Block Beginn *********************

SET "quell_datei=Laufwerk_Pfad_und Name_Deiner_Textdatei"
SET "ausgabe_datei=Laufwerk_Pfad_und Name_Deiner_Ausgabedatei"
SET "suchzeichen=ö"
SET "ersetzungszeichen=s"

REM ************************ SET-Block Ende ***********************

REM Loeschen der Ausgabedatei, falls sie (noch) existiert
IF EXIST "%ausgabe_datei%" (DEL /f "%ausgabe_datei%" 1>NUL 2>NUL)

REM Datei zeilenweise auslesen 
REM und in Variable "zeile" schreiben, 
FOR /f "delims=" %%i IN ('FINDSTR . "%quell_datei%"') DO (
SET "zeile=%%i"

REM Suchzeichen(folge) mit Ersetzungszeichen(folge) tauschen
SET "zeile=!zeile:%suchzeichen%=%ersetzungszeichen%!"

REM Das Ergebnis in die Ausgabedatei schreiben
ECHO !zeile!>>"%ausgabe_datei%"
)

ECHO.
ECHO Fertig^^! Das Ergebnis steht in der Datei "%ausgabe_datei%".



Viel Spaß beim Testen.

Herzliche Grüße
batti-batch

Ähnliche Themen

defrag batch datei
OpaUnkeStiefel  23.05.2007 - 119 Hits - 5 Antworten

Batch-Datei erstellen
Danne  16.03.2007 - 382 Hits - 2 Antworten

Batch Datei schreiben (Datei verschieben)
NinerForever  03.11.2007 - 186 Hits - 11 Antworten

was mit batch datei machen?
ATAGNE  18.11.2007 - 62 Hits - 1 Antwort

Batch: Nur aktuellere & neue Datein / ersetzen
Robert_34  01.08.2008 - 3 Hits - 6 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026