HTML-Datei per Batch verändern.
chris2204 (Level 1) - Jetzt verbinden
29.01.2010, aktualisiert 18.10.2012, 9385 Aufrufe, 8 Kommentare
Hallo,
ich hoffe, dass ihr mir bei einem Problem weiterhelfen könnt:
Auf unserem Schulserver wird automatische eine Datei mit dem Namen "index.html" erstellt, in der unsere aktuelle IP-Adresse steht. Diese wird dann automatisch per batch via ftp auf unsere Schulhomepage geladen.
Der Inhalt der html-Datei lautet:
Ist es möglich, per batch-Datei die html-Datei so abzuändern, dass der Text dann wie folgt lautet:
Vielen Dank schon einmal für Eure Hilfe!
Christian
PS: Hab gerade gemerkt, dass der Link nicht richtig angezeigt wird.
Der Link soll auf https://ip-adresse/owa verweisen.
[Edit Biber] Codetags gesetzt (s. auch bastla Hinweis unten). [/Edit]
Der Inhalt der html-Datei lautet:
<html><head><title>Current IP Check</title></head><body>Current IP Address: 91.12.76.55</body></html>
<html><head><title>Current IP Check</title></head><body><a href="https://91.12.76.55/owa">Current IP Address: 91.12.76.55</a></body></html>
Christian
PS: Hab gerade gemerkt, dass der Link nicht richtig angezeigt wird.
[Edit Biber] Codetags gesetzt (s. auch bastla Hinweis unten). [/Edit]
8 Antworten
- LÖSUNG Crusher79 schreibt am 30.01.2010 um 01:24:37 Uhr
- LÖSUNG Arano schreibt am 30.01.2010 um 02:39:05 Uhr
- LÖSUNG AndreasBrecht schreibt am 30.01.2010 um 07:09:16 Uhr
- LÖSUNG bastla schreibt am 30.01.2010 um 10:53:24 Uhr
- LÖSUNG chris2204 schreibt am 30.01.2010 um 12:27:14 Uhr
- LÖSUNG AndreasBrecht schreibt am 30.01.2010 um 18:10:09 Uhr
- LÖSUNG chris2204 schreibt am 30.01.2010 um 18:15:42 Uhr
- LÖSUNG AndreasBrecht schreibt am 30.01.2010 um 18:37:46 Uhr
- LÖSUNG chris2204 schreibt am 30.01.2010 um 18:15:42 Uhr
LÖSUNG 30.01.2010 um 01:24 Uhr
Hi,
was ist denn Sinn der Übung? Wenn ich das so les, habt ihr dynamische IP und wollt, dass die Leute Outlook Webacces von aussen erreichen. Wieso nimmst du nicht einfach ein DynDNS Account zur Hilfe?
Wenn ihr eine eigene Domain besitzt, kannst du einfach eine Weiterleitung auf die DynDNS Adresse einrichten. Z.B. als CNAME:
Idealerweise sollte die IP vom Router aktualisiert werden. Natürlich geht auch jeder DynDNS Client. Alternativ gibs noch andere Anbieter: no-ip.org z.B.
So reicht ein einfacher Link vollkommen aus. DynDNS sieht nur nicht so fein aus. Deshalb auch die Weiterleitung über eure Domain. Hast leider nicht geschrieben was ihr so alles habt. Unterstelle aber einfach mal, dass eine Schule auch eine Domain besitzt.
mfg Crusher
was ist denn Sinn der Übung? Wenn ich das so les, habt ihr dynamische IP und wollt, dass die Leute Outlook Webacces von aussen erreichen. Wieso nimmst du nicht einfach ein DynDNS Account zur Hilfe?
Wenn ihr eine eigene Domain besitzt, kannst du einfach eine Weiterleitung auf die DynDNS Adresse einrichten. Z.B. als CNAME:
Feld < Typ > Ziel
owa.tolle-schule.de < CNAME > owa-tolle-schule.dyndns.org
owa.tolle-schule.de < CNAME > owa-tolle-schule.dyndns.org
Idealerweise sollte die IP vom Router aktualisiert werden. Natürlich geht auch jeder DynDNS Client. Alternativ gibs noch andere Anbieter: no-ip.org z.B.
So reicht ein einfacher Link vollkommen aus. DynDNS sieht nur nicht so fein aus. Deshalb auch die Weiterleitung über eure Domain. Hast leider nicht geschrieben was ihr so alles habt. Unterstelle aber einfach mal, dass eine Schule auch eine Domain besitzt.
mfg Crusher
LÖSUNG 30.01.2010 um 02:39 Uhr
Moin moin,
ich glaube hier kann ich auch helfen.
Habe an den vier Zeilen jetzt selber über 2 Stunden basteln müssen - habe aber auch was dabei gelernt
Das erstellt so erstmal eine zweite index-Datei "index2.html" damit die originale beim erstellen und testen nicht dauernd überschrieben wird, da muss am Ende entsprechende der Name angepasst werden sowie ggf. die Ausgabe der IP enfternt werden.
~Arano
Edit:
ich glaube hier kann ich auch helfen.
Habe an den vier Zeilen jetzt selber über 2 Stunden basteln müssen - habe aber auch was dabei gelernt
@echo off
REM Lese den 6ten Token des Inhalts der "index.html" ein.
REM z.B. "91.12.76.55</body></html>"
for /F "tokens=6" %%i in (index.html) do set inhalt="%%i"
REM Zerlege die Zeichenkette anhand eines bestimmten Trennzeichens
REM und speichere den ersten Token in die Variable "ip"
for /F "delims=<" %%i in (%inhalt%) do set ip=%%i
echo IP: %ip%
REM Alte IP mit neuem HTML in ZWEITER index-Datei speichern
echo ^<html^>^<head^>^<title^>Current IP Check^</title^>^</head^>^<body^>^<a href="https://%ip%/owa"^>Current IP Address: %ip%^</a^>^</body^>^</html^>>index2.html
pause >nul
~Arano
Edit:
- Einen Fehler verbessert: hatte "null" anstelle von "nul" verwendet
- Aus vier Zeilen drei gemacht: Ersetzen von spitzen oeffnenden Klammern(<) durch Unterstriche(_) entfernt und anstelle des Unterstriches als Trennzeichens die spitze oeffnende Klammer verwendet.
LÖSUNG 30.01.2010 um 07:09 Uhr
Mit vbs geht das noch etwas hübscher
[Edit Biber] Codetags [/Edit]
Const ForWrtiting = 2, ForReading = 1
Dim ts, fs
Dim FileContent
Set fs = CreateObject("scripting.filesystemobject")
Set ts = fs.OpenTextFile("DieDatei.txt", 1)
FileContent = ts.ReadAll
ts.Close
FileContent = Replace(FileContent , "Ein Text", "Neuer Text")
Set ts = fs.OpenTextFile("DieDatei.txt", 2)
ts.Write FileContent
ts.Close
[Edit Biber] Codetags [/Edit]
LÖSUNG 30.01.2010, aktualisiert 18.10.2012
@Arano

Falls es in ähnlich gelagerten Fällen einmal schneller gehen soll, hätte ua TimoBeil hier einen Thread zum Thema in Arbeit ...
... und da die Fragestellung nicht ganz exotisch ist, lässt sich auch eine Menge weiterer Beiträge hier im Forum finden - stellvertretend etwa: Per Batch XML ändern
Ansonsten hat natürlich AndreasBrecht (BTW: Willkommen im Forum!
) recht: (nicht zuletzt) wegen der enthaltenen Sonderzeichen ist für "Suchen - Ersetzen" VBS die bessere Wahl (lässt sich aber durchaus in Batch integrieren - siehe verlinkten Beitrag) ...
Grüße
bastla
P.S.: @AndreasBrecht: Zu "hübscher" böte sich noch die Verwendung der Tags <code> und </code> zur Formatierung Deines Scripts an ...
Habe an den vier Zeilen jetzt selber über 2 Stunden basteln müssen - habe aber auch was dabei gelernt 
War ja dann wohl trotzdem eine gute Investition. Falls es in ähnlich gelagerten Fällen einmal schneller gehen soll, hätte ua TimoBeil hier einen Thread zum Thema in Arbeit ...
... und da die Fragestellung nicht ganz exotisch ist, lässt sich auch eine Menge weiterer Beiträge hier im Forum finden - stellvertretend etwa: Per Batch XML ändern
Ansonsten hat natürlich AndreasBrecht (BTW: Willkommen im Forum!
Grüße
bastla
P.S.: @AndreasBrecht: Zu "hübscher" böte sich noch die Verwendung der Tags <code> und </code> zur Formatierung Deines Scripts an ...
LÖSUNG 30.01.2010 um 12:27 Uhr
LÖSUNG 30.01.2010 um 18:10 Uhr
LÖSUNG 30.01.2010 um 18:15 Uhr
LÖSUNG 30.01.2010 um 18:37 Uhr