Unterschied zwischen Ausführung im Batch und CMD-Line?
Hallo,
ich möchte durch Verwendung von curl in einer Batch-Datei die Konfiguration meines Routers automatisieren. Dabei handelt es sich um eine Fritzbox 7270, welche seit den letzten 2 Firmware-Versionen SIDs verwendet.
Um nun trotzdem darauf zugreifen zu können, lasse ich in einem ersten curl-Aufruf eine aktuelle SID auslesen und möchte diese in den weiteren curl-Aufrufen verwenden.
Das soll wie folgt funktionieren:
Dabei gibt es nun folgendes Problem:
Wenn ich diese Batch so ausführe, tut sich an meinem Router nichts. Nach der Ausführung bleibt (solange ich die cmd-Line nicht schließe) die Umgebungsvariable %SID% erhalten (die SID bleibt auch in der Fritzbox 10 min aktiv). Wenn ich nun also den zweiten curl-Aufruf kopiere und in der cmd-Line einfüge funktioniert es wie gewünscht.
Um dem nachzugehen, habe ich den zweiten curl-Aufruf einfach mal in eine extra Batch kopiert und diese anschließend ausgeführt. Dabei funktioniert es ebenfalls nicht.
Daher nun meine Frage: Welches Feature in der Batch-Verarbeitung verhindert, dass ich einen Befehl, der auf der Kommandozeile funktioniert, einfach in einer Batch ausführen lasse?
Ich hoffe ihr könnt mir helfen. Vielen Dank im Vorraus.
ich möchte durch Verwendung von curl in einer Batch-Datei die Konfiguration meines Routers automatisieren. Dabei handelt es sich um eine Fritzbox 7270, welche seit den letzten 2 Firmware-Versionen SIDs verwendet.
Um nun trotzdem darauf zugreifen zu können, lasse ich in einem ersten curl-Aufruf eine aktuelle SID auslesen und möchte diese in den weiteren curl-Aufrufen verwenden.
Das soll wie folgt funktionieren:
@echo off
rem Hier wird die SID vergeben und in der Variable SID gespeichert
for /f "tokens=2 delims=<>" %%i in ('curl "http://fritz.box/cgi-bin/webcm?getpage=../html/login_sid.xml"^|Find /i "SID"') do @set SID=%%i
echo Die SID lautet %SID%
rem Hier der Versuch die SID mit curl zu verwenden
@echo on
curl "http://fritz.box/cgi-bin/webcm" -d "sid=%SID%&connection0%3Asettings%2Fcmd_disconnect="
Dabei gibt es nun folgendes Problem:
Wenn ich diese Batch so ausführe, tut sich an meinem Router nichts. Nach der Ausführung bleibt (solange ich die cmd-Line nicht schließe) die Umgebungsvariable %SID% erhalten (die SID bleibt auch in der Fritzbox 10 min aktiv). Wenn ich nun also den zweiten curl-Aufruf kopiere und in der cmd-Line einfüge funktioniert es wie gewünscht.
Um dem nachzugehen, habe ich den zweiten curl-Aufruf einfach mal in eine extra Batch kopiert und diese anschließend ausgeführt. Dabei funktioniert es ebenfalls nicht.
Daher nun meine Frage: Welches Feature in der Batch-Verarbeitung verhindert, dass ich einen Befehl, der auf der Kommandozeile funktioniert, einfach in einer Batch ausführen lasse?
Ich hoffe ihr könnt mir helfen. Vielen Dank im Vorraus.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 136480
Url: https://administrator.de/forum/unterschied-zwischen-ausfuehrung-im-batch-und-cmd-line-136480.html
Ausgedruckt am: 28.04.2025 um 19:04 Uhr
2 Kommentare
Neuester Kommentar