Batch Datei: ECHO ist ausgeschaltet (OFF)
Guten Abend,
ich habe mir aus diversen Beiträgen hier ein nützliches Script "zusammengeklaut".
Es funktioniert wunderbar, nur bekomme ich immer bei der Ausgabe in die .txt Datei in den Leerzeilen: ECHO ist ausgeschaltet (OFF).
Mir ist durchaus bewusst das in dem Script ein bisschen was nicht passt, jedoch fehlt mir die Nachvollziehbarkeit.
Was ich wollte:
- öffne die Datei
- suche nach dem festgesetzten Wert
- Aufforderung den neuen Wert einzugeben
- ersetze den alten Wert
- speichere die Datei am ursprünglichen Ort ab
Hier der Code:
Was ist zuviel? oder wo fehlt die echo Anweisung?
Vielen Dank für die Hilfe.
ich habe mir aus diversen Beiträgen hier ein nützliches Script "zusammengeklaut".
Es funktioniert wunderbar, nur bekomme ich immer bei der Ausgabe in die .txt Datei in den Leerzeilen: ECHO ist ausgeschaltet (OFF).
Mir ist durchaus bewusst das in dem Script ein bisschen was nicht passt, jedoch fehlt mir die Nachvollziehbarkeit.
Was ich wollte:
- öffne die Datei
- suche nach dem festgesetzten Wert
- Aufforderung den neuen Wert einzugeben
- ersetze den alten Wert
- speichere die Datei am ursprünglichen Ort ab
Hier der Code:
@echo off & setlocal enabledelayedexpansion
set "Datei=C:\Users\testuser\Desktop\test_config.txt"
set "t=Temp.tmp"
set "Suchen1=192.168.2.2/24"
set /p "Ersetzen1=IP_der_Routerschnittstelle_eingeben(192.168.0.2/24):"
set "Suchen2=192.168.2.0/24"
set /p "Ersetzen2=NetzwerkID_+_Maske_der_LAN_1(192.168.0.1/24):"
set "Suchen3=192.168.2.255"
set /p "Ersetzen3=Broadcastadresse_der_LAN_1:"
set "Suchen4=192.168.2.1"
set /p "Ersetzen4=IP_Adresse_der_LAN_1:"
set "Suchen5=192.168.2.0"
set /p "Ersetzen5=Netzadresse_der_LAN_1:"
if exist "%t%" del "%t%"
for /f "delims=" %%i in ('findstr /n $ "%Datei%"') do set "Line=%%i" & call :ProcessLine
move "%t%" "%Datei%"
goto :WEITER_IM_BATCH
:ProcessLine
for /f "tokens=1* delims=:" %%a in ("%Line%") do set "L=%%b"
if not defined L >>"%t%" echo\& goto :eof
set WriteLine1=!L:%Suchen1%=%Ersetzen1%!
set WriteLine2=!WriteLine1:%Suchen2%=%Ersetzen2%!
set WriteLine3=!WriteLine2:%Suchen3%=%Ersetzen3%!
set WriteLine4=!WriteLine3:%Suchen4%=%Ersetzen4%!
set WriteLine5=!WriteLine4:%Suchen5%=%Ersetzen5%!
>>"%t%" echo !WriteLine5!
goto :eof
Was ist zuviel? oder wo fehlt die echo Anweisung?
Vielen Dank für die Hilfe.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 331712
Url: https://administrator.de/contentid/331712
Ausgedruckt am: 23.11.2024 um 01:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo,
ich sehe es so auch nicht, aber die Meldung kommt wenn man nur "echo" als Befehl verwendet.
Für Leerzeilen auf dem Bildschirm braucht es dann "echo." (Punkt am Ende).
Vermutlich ist hier also eine echo Zeile mit leerem Parameter.
Grenze das ganze doch mit ein paar Pausen ein, damit Du weiß wo.
Stefan
ich sehe es so auch nicht, aber die Meldung kommt wenn man nur "echo" als Befehl verwendet.
Für Leerzeilen auf dem Bildschirm braucht es dann "echo." (Punkt am Ende).
Vermutlich ist hier also eine echo Zeile mit leerem Parameter.
Grenze das ganze doch mit ein paar Pausen ein, damit Du weiß wo.
Stefan
Hi,
schreibe Zeile 30 in dieser Art
es geht statt mit dem Punkt auch mit einem "(" "[" "/" usw.
Gruß schnappi
schreibe Zeile 30 in dieser Art
>>"%t%" echo.!WriteLine5!
>>"%t%" echo(!WriteLine5!
Gruß schnappi