Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Unterschied zwischen Ausführung im Batch und CMD-Line?

Frage Entwicklung Batch & Shell

Mitglied: Physikuss

Physikuss (Level 1) - Jetzt verbinden

21.02.2010 um 15:07 Uhr, 7834 Aufrufe, 2 Kommentare

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:

01.
@echo off 
02.
 
03.
rem Hier wird die SID vergeben und in der Variable SID gespeichert 
04.
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 
05.
echo Die SID lautet %SID% 
06.
 
07.
rem Hier der Versuch die SID mit curl zu verwenden 
08.
@echo on 
09.
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.
Mitglied: bastla
21.02.2010 um 15:33 Uhr
Hallo Physikuss und willkommen im Forum!

Innerhalb eines Batches musst Du Prozentzeichen, die als "gewöhnliche" Zeichen ausgegeben werden sollen, verdoppeln - also etwa:
curl "http://fritz.box/cgi-bin/webcm" -d "sid=%SID%&connection0%%3Asettings%%2Fcmd_disconnect="
Grüße
bastla
Bitte warten ..
Mitglied: Physikuss
21.02.2010 um 17:37 Uhr
Mensch danke,
das ging ja schnell.

Das war natürlich das Problem und jetzt komme ich weiter.

ps.: In anderen Batches hab ich mich schon mal darüber gewundert
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch, CMD - Prüfen ob ein Dienst existiert, nicht läuft (4)

Frage von RycoDePsyco zum Thema Batch & Shell ...

Humor (lol)
Der Unterschied zwischen USA und USB

Link von BirdyB zum Thema Humor (lol) ...

Benchmarks
gelöst Unterschied zwischen +12V und 12V Netzteil für Festplatte (9)

Frage von FelixW zum Thema Benchmarks ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (35)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (15)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

CMS
Lokales Wordpress im LAN - wie aufsetzen? (13)

Frage von Static zum Thema CMS ...

Backup
Backup Wochen- Monats- Jahressicherung (13)

Frage von Meterpeter zum Thema Backup ...