online 1
gast (50)

/ Forum / WindowsXP

WindowsXPWindowsXP

Fragevon Player1987 vom 24.10.2019, 07:59 Options

Anführungszeichen aus .txt Datei löschen

Hi,
ich habe eine TXT Datei und in dieser sind leider vor und hinter manchen Zeilen Anführungszeichen.

also ich könnte es auch von Hand machen, da ich nur den Editor öffnen muss und bei suchen " schreiben muss und bei ersetzen nichts und schon sind sie weg.

auch wenn ich die Eingabeaufforderung starte und die txt datei im DOS Editor starte, kann ich die anführungszeichen so entfernen.

Da muss es doch eine möglichkeit geben, dass ich das irgendwie gebacken bekomme, am besten wäre so ne batch datei ist das damit möglich?


Antwort schreiben

Antwort 1 von batti-batch vom 24.10.2019, 11:01 Options

Hallo Player1987,


Suchen und Ersetzen lassen sich mit einer Batch-Datei erledigen.
Um aber die Möglichkeiten von
Suchen und Ersetzen
zu demonstrieren, habe ich das Beispiel etwas ausgebaut: hier werden Anführungszeichen (") durch Sternchen (*) ersetzt.

Das Programm kannst Du im
SET-Block
ganz leicht Deinen Wünschen anpassen:

SET "datei=Laufwerk_und_Pfad_zu_Deiner_Textdatei"
SET "ausgabe=Laufwerk_und_Pfad_zu_Deiner_Ausgabedatei"
SET "suchzeichen=""
SET "ersetzungszeichen=*"


Wenn Du das Anführungszeichen (") nur entfernen möchtest, ändere die Zeile

SET "ersetzungszeichen=*"

in
SET "ersetzungszeichen="


Hier ist das Batchprogramm:

@ECHO off
SETLOCAL enabledelayedexpansion

REM
REM Testprogramm
REM Ersetzen von Zeichen und Schreiben in eine neue Datei
REM
REM lauffaehig ab Windows 2000
REM 


SET "datei=Laufwerk_und_Pfad_zu_Deiner_Textdatei"
SET "ausgabe=Laufwerk_und_Pfad_zu_Deiner_Ausgabedatei"
SET "suchzeichen=""
SET "ersetzungszeichen="

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

REM Datei zeilenweise auslesen 
REM und in Variable "zeile" schreiben
FOR /f "delims=" %%i IN ('FINDSTR . "%datei%"') DO (
SET zeile=%%i& CALL :ersetzen !zeile!
)
GOTO :eof

:ersetzen
REM Das Suchzeichen mit dem Ersetzungsteichen tauschen
SET zeile=!zeile:%suchzeichen%=%ersetzungszeichen%!

REM Ergebnis in die Ausgabedatei schreiben
ECHO !zeile!>>%ausgabe%
GOTO :eof

:eof



Viel Spass beim Testen!

Herzliche Grüße
batti-batch

Antwort 2 von MichaelS vom 24.10.2019, 14:27 Options

also ich habe das jetzt einfach in ein neues txt dokument kopiert und mal versucht, jedoch klappt das leider nicht


@ECHO off
SETLOCAL enabledelayedexpansion

REM
REM Testprogramm
REM Ersetzen von Zeichen und Schreiben in eine neue Datei
REM
REM lauffaehig ab Windows 2000
REM 


SET "test.txt=D:\output\"
SET "testneu.txt=D:\output\"
SET "suchzeichen=""
SET "ersetzungszeichen="

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

REM Datei zeilenweise auslesen 
REM und in Variable "zeile" schreiben
FOR /f "delims=" %%i IN ('FINDSTR . "%datei%"') DO (
SET zeile=%%i& CALL :ersetzen !zeile!
)
GOTO :eof

:ersetzen
REM Das Suchzeichen mit dem Ersetzungsteichen tauschen
SET zeile=!zeile:%suchzeichen%=%ersetzungszeichen%!

REM Ergebnis in die Ausgabedatei schreiben
ECHO !zeile!>>%ausgabe%
GOTO :eof

:eof

Antwort 3 von batti-batch vom 24.10.2019, 14:35 Options

Hallo MichaelS,


was genau klappt denn nicht?
Wenn Du den Code in Notepad (das ist der Editor auf Deinem PC; mit einem "normalen" Textprogramm solltest Du es nicht versuchen) kopierst, musst Du diese Datei als *.bat abspeichern. Wähle dazu beim Speichern die Option "Alle Dateien" und gib als Name z.B.

michael.bat 


ein.
Diese Datei ist dann als Batch unter DOS lauffähig.


Viel Spass beim Testen!

Herzliche Grüße
batti-batch

Antwort 4 von MichaelS vom 24.10.2019, 15:12 Options

Also als.bat hab ich sie schon benannt.
das problem ist, das dos fenster bzw eingabeaufforderung öffnet nur ganz kurz und dann ist sie wieder weg.
und nichts ist passiert.

Antwort 5 von batti-batch vom 24.10.2019, 15:58 Options

Hallo MichaelS,


versuche, diese Datei in der DOS-Eingabeaufforderung zu starten, mit einem Doppelklick wird sie zwar auch funktionieren, davon ist aber in diesem Fall abzuraten.

Vergiss bitte nicht, die vorher notwendigen Anpassungen an Deine Umgebung vorzunehmen.

Dann starte dieses Programm direkt am DOS-Prompt (also innerhalb des schwarzen DOS-Fensters):

michael.bat [ENTER]


Das Umbenennen von Dateien geht recht schnell...


Viel Spass beim Testen!

Herzliche Grüße
batti-batch

Antwort 6 von MichaelS vom 24.10.2019, 19:13 Options

Hi,
also jetzt hat es geklappt. Nur ein Problem habe ich.
Wenn ich ausgangsdatei und Eingangsdatei als gleiche Datei bezeichne,
dann schreibt er das ohne "" einfach unter den Text mit den "".
Kann ich das noch irgendwie umgehen?
Danke

Antwort 7 von batti-batch vom 24.10.2019, 20:52 Options

Hallo MichaelS,


ich freue mich, das es funktioniert hat.

Das restliche Problem ist sehr heikel, deswegen solltest Du davon die Finger lassen: wenn irgendwas schief geht, wird Deine Ausgangsdatei unbrauchbar (das ist bei Suchen und Ersetzen schnell passiert) - deshalb die Lösung mit einer separaten Ausgabedatei!

Denke einfach daran: Man sollte niemals die Ausgangsdatei verändern.

Die kleine Mühe, nach einer Kontrolle ein Umbenennen vorzunehmen, lohnt sich.

Herzliche Grüße
batti-batch

Antwort 8 von MichaelS vom 25.10.2019, 06:52 Options

also ich denke mal das passt hier auch noch rein. da ihr euch gut mit batch dateien auskennt.

also ich habe folgenden code


@echo off
cls
start D:\test\launch.xls
start D:\test\data\patch.bat
start explorer.exe /e, ""D:\test\output""
:ende
cls


Das Ziel davon soll sein,
das erst die Launch.xls geöffnet wird.
Wenn sie geschlossen wird öffnet sich patch.bat
Und wenn diese fertig ist soll sich der Explorer öffnen und das Verzeichnis D:\test\output anzeigen
DAS FUNKTIONIERT ALLES SUPER,
aber das Problem ist, das die Eingabeaufforderung immernoch offen ist am ende mit der Zeile D:\test\data
das ist ja das Verzeichnis der bat.
kann ich da irgendetwas machen? das sich dieses fenster schliest?
ich habe es schon mit dem Wort exit am ende der Bat versucht (nicht patch.bat) sondern die welche diese startet, jedoch ohne erfolg.

achja die patch.dat ist die datei die die anführungszeichen entfernt, danke nochmals dafür

Antwort 9 von Player1987 vom 25.10.2019, 06:53 Options

oh *Z* jetzt hab ich das account von meinem bruder benutzt.
Sorry

Ähnliche Themen

SchedLgU.TXT
dattel  10.02.2007 - 92 Hits - 1 Antwort

Mehrere Dateien umbenennen mit Nummerierung
Iscitürk  18.08.2007 - 171 Hits - 2 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