wolle87 Geschrieben 29. Januar 2014 Teilen 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ß Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.