wolle87 Geschrieben 29. Januar 2014 Geschrieben 29. Januar 2014 Hallo, ich würde gerne eine Batch Datei erstellen, die eine Konfig Datei zeilenweise liest und dort drei Strings sucht und entsprechend abändert. Hier ist meine Batch Datei, allerdings bekomme ich beim Ausführen die Meldung "<" kann syntaktisch an dieser Stelle nicht verarbeitet werden. @ECHO off SETLOCAL enabledelayedexpansion REM REM Suchen und Ersetzen in einer Textdatei REM SET "quell_datei=C:\Users\JW\Documents\gert\ASConfig01.cfg" SET "ziel_datei=C:\Users\JW\Documents\gert\test.cfg" SET "zuersetzen1=^<DBDriver^>^com.mysql.jdbc.Driver^</DBDriver^>" SET "ersetzenmit1=^<DBDriver^>net.sourceforge.jtds.jdbc.Driver^</DBDriver^>" SET "zuersetzen3=^<basePath^>\Retain^</basePath^>" SET "ersetzenmit3=^<basePath^>\Retain\reload^</basePath^>" SET "zuersetzen2=^<indexEngine^>lucene^</indexEngine^>" SET "ersetzenmit2=^<indexEngine^>exalead^</indexEngine^>" REM Ausgabe einer Fehlermeldung und Programmabbruch REM falls die Variable "suchen_nach*" nicht definiert ist REM F NOT DEFINED zuersetzen1 (ECHO Fehler: Die Variable zuersetzen1 nicht definiert^^!&GOTO :eof) REM IF NOT DEFINED zuersetzen2 (ECHO Fehler: Die Variable zuersetzen2 nicht definiert^^!&GOTO :eof) REM IF NOT DEFINED zuersetzen3 (ECHO Fehler: Die Variable zuersetzen3 nicht definiert^^!&GOTO :eof) REM Loeschen der Ausgabedatei, falls sie (noch) existiert REM IF EXIST %ziel_datei% (DEL /f %ziel_datei% 1>NUL 2>NUL) REM Quell-Datei zeilenweise auslesen REM und in Variable "zeile" schreiben FOR /f "delims=" %%i IN ('FINDSTR . "%quell_datei%"') DO ( SET zeile=%%i& CALL :ersetzen !zeile! ) GOTO :weiter :ersetzen REM innerhalb der Variable "zeile" REM den Inhalt der Variable "suchen_nach1" suchen REM und diese durch den Inhalt der Variable "ersetzen_durch" ersetzen SET zeile=!zeile:%zuersetzen1%=%ersetzenmit1%! SET zeile=!zeile:%zuersetzen2%=%ersetzenmit2%! SET zeile=!zeile:%zuersetzen3%=%ersetzenmit3%! REM Inhalt der Variable "zeile" in die Ausgabedatei schreiben IF [!zeile!] EQU [] (ECHO.>>%ziel_datei%) ELSE (ECHO !zeile!>>%ziel_datei%) GOTO :eof :weiter REM weitere Verarbeitung REM ECHO Fertig^^ Wo liegt der Fehler? Danke und Gruß
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden