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, 7655 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
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 ...

Netzwerkgrundlagen
gelöst Frage zum Unterschied zwischen ICMP und einem PING (5)

Frage von M.Marz zum Thema Netzwerkgrundlagen ...

Server-Hardware
gelöst Unterschied zwischen 2 HP Microservern Gen8 (4)

Frage von SMoller02 zum Thema Server-Hardware ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (14)

Frage von liquidbase zum Thema Windows Update ...