Top-Themen

Aktuelle Themen (A bis Z)

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 Inhalt einer Datei per batch vergleichen und aktion ausführen

Mitglied: moltova

moltova (Level 1) - Jetzt verbinden

26.06.2012, aktualisiert 15:26 Uhr, 3766 Aufrufe, 7 Kommentare

Hi,

da mein Kopf gerade total raucht, dachte ich, ich wende mich vertrauensvoll an Euch

Mein Problem (Denkblockade oder wie auch immer)

Ich habe einen Skript geschrieben,der die HTML Daten des Webinterfaces meines Routers herunterlädt und die Zeile filter, wo die aktuelle IP Adresse des ISP angezeigt wird. Diese IP Adresse wird danach in ein TXT File geschrieben. Danach wird per skript der Inhalt dieses TXT Files per Email versendet. Soweit kalppt das perfekt. Habe das ganze auf meinem HomeServer per Aufgabenplaner am laufen und dieser sendet schön brav alle 2 Stunden die aktuelle IP des Routers.

Jetzt möchte ich aber, das der Skript erst in den Emailabschnitt springt, wenn sich die IP Adresse geändert hat.

Wie kann ich das abfragen? Habe schon versucht mit 2 TXT Daten zu Arbeiten aber jetzt bin ich gerade an einem Punkt wo mir absolut der Kopf raucht?!?!?!?!


Hier mein Skript damit Ihr Euch das besser Vorstellen könnt.

01.
 
02.
wget --mirror -k -E http://192.168.0.254/ 
03.
 
04.
findstr /I "wan_ip=" "192.168.0.254\index.html">"aktuelle_ip.txt" 
05.
 
06.
Blat -install test@test.de test@test.de 
07.
Blat "aktuelle_ip.txt" -to test@test.de -server mail.gmx.net -u test@test.de -pw test@test.de -debug -timestamp -log blatSMTPlog.txt -subject "aktuelle Router IP" 
08.
 

Das ganze läuft schön als cmd


Vielen Dank

Matthias

NACHTRAG: wie erzeugt man hier im Forum dieses Fenster für Codeschnipsel für Programmierungen etc?!

Nachtrag 2: die Frage aus "Nachtrag" klappt ja schoneinmal
Mitglied: ITLogger
26.06.2012 um 11:52 Uhr
Direkt mit Code kann ich Dir nicht helfen. Aber mit einer generellen Idee, denn Dateien auslesen und schreiben kannst Du ja:

Schreibe die aktuelle IP z.B. in zwei Textdateien: aktuelle_ip.txt und letzte_ip.txt. Nur wenn sich diese unterschen fürst Du die Mail Aktion aus. Grundgerüst:

1 Webseite auslesen
2 Findstr ausführen -> IP in aktuelle IP schreiben und zusätzlich in Variable %IP%
3 Letzte_ip.txt auslesen und mit aktueller %IP% vergleichen, wenn gleich, dann Ende, wenn unterschiedlich dann folgende Schritte
4 aktuelle IP in letzte_ip.txt schreiben
5 Mail versenden
Bitte warten ..
Mitglied: pieh-ejdsch
26.06.2012 um 15:01 Uhr
moin Matthias,

Deine AusleseZeile könnte so aussehen:
01.
(for /f delims^= %%i in ('findstr /i "wan_ip=" "192.168.0.254\index.html" ^|findstr /vg:"aktuelle_ip.txt" ') do @echo %%i>"aktuelle_ip.txt" ) || exit /b 0
Nachtrag:
Die Codeschnipsel erzeugst Du mit
<code>Codezeilen</code>
auch nachzulesen in der Formatierungshilfe in den FAQ

Gruß Phil
Bitte warten ..
Mitglied: moltova
26.06.2012 um 15:24 Uhr
OK, Danke, werde das heute Abend mal testen und melde mich dann wieder
Bitte warten ..
Mitglied: moltova
26.06.2012, aktualisiert um 17:15 Uhr
Ok hab jetzt noch ein paar versuche Unternommen.... klappt aber irgendwie nicht so wie ich mir das Denke.
Das ist mein aktueller Code:

01.
goto kopieren 
02.
 
03.
:kopieren 
04.
wget --mirror -k -E http://192.168.0.8/ 
05.
goto auslesen 
06.
 
07.
:auslesen 
08.
findstr /I "wan_ip=" "192.168.0.8\index.html">"aktuelle_ip.txt" 
09.
goto vergleichen 
10.
 
11.
:vergleichen 
12.
(for /f delims^= %%i in ('findstr /i "wan_ip=" "192.168.0.8\index.html" ^|findstr /vg:"aktuelle_ip.txt" ') do @echo %%i>"aktuelle_ip.txt" ) 
13.
if not errorlevel 1 goto mail 
14.
if errorlevel 1 goto ende 
15.
 
16.
 
17.
:mail 
18.
Blat -install  
19.
Blat "aktuelle_ip.txt" -to  -server mail.gmx.net -u  -debug -timestamp -log blatSMTPlog.txt -subject "aktuelle Router IP" 
20.
goto ende 
21.
 
22.
:ende 
23.
pause 
24.
exit
hab im mail Block nur meine Passwörter ec entfernt also nicht wundern das der ein wenig anders aussieht

Achso, so sieht die Zeile aus, die er suchen und vergleichen soll

var wan_ip='88.79.158.135';
Bitte warten ..
Mitglied: pieh-ejdsch
26.06.2012 um 21:47 Uhr
hallo Matthias,

goto Marke und danach die Zeile :Marke ist verschwendeter Platz in dem Batch.

Die von mir hingeschriebene Zeile ist als Ersatz für die Zeile 04 in Deinem StartBeitrag gedacht.
Wenn Du jetzt die "Aktuelle_IP.TXT" schon vorher veränderst, wird die von mir geschriebene Zeile nicht Funktionieren. Sie wird ja von der Forschleife Verändert (die "aktuelle_ip.txt") bei unterschieden.
Den Errorlevel der ('Anweisung') in der Forschleife kannst Du nicht Auslesen, weil diese in einem Seperaten CMD-kontex ausgeführt wird.

So war es gedacht, mit Klammer und wenn Gleich dann Batchende:
01.
wget --mirror -k -E http://192.168.0.254/ 
02.
 
03.
(for /f delims^= %%i in ('findstr /i "wan_ip=" "192.168.0.254\index.html" ^|findstr /vg:"aktuelle_ip.txt" ') do @echo %%i>"aktuelle_ip.txt" ) || exit /b 0 
04.
 
05.
Blat -install test@test.de test@test.de 
06.
Blat "aktuelle_ip.txt" -to test@test.de -server mail.gmx.net -u test@test.de -pw test@test.de -debug -timestamp -log blatSMTPlog.txt -subject "aktuelle Router IP"

Gruß Phil
Bitte warten ..
Mitglied: moltova
26.06.2012 um 22:20 Uhr
Danke für Deine Hilfe, manchmal sieht man den Wald vor lauter Bäumen nicht mehr. Ok habe den Skript nach Deinem Vorschlag angepasst. Leider versendet er immer noch Emails, er sendet wenn ich den Router Neu verbunden habe und eine Neue IP habe und er sendet auch bei allen weiteren Tests danach obwohl die IP Adresse im Skript und der txt gleich geblieben sind.


wo ist der Fehler?

mfg Mathes
Bitte warten ..
Mitglied: moltova
27.06.2012 um 15:45 Uhr
So habe es jetzt durch folgende Zeile gelöst:

fc /L /N "aktuelle_ip.txt" "alte_ip.txt"
if errorlevel 1 goto mail
goto ende

habe noch eine 2te TXT eingebaut, wo nach dem versenden der eMail die aktuelle IP in die txt Datei "alte_Ip.txt" geschrieben wird.

so funktioniert alles prima

Danke für die Hilfen
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Powershell Script um Inhalt von Dateien zu vergleichen

Frage von zamsi7Batch & Shell14 Kommentare

Hallo an alle, hoffe ich bin hier richtig Ich würde ein Powershell script benötigen, welche mir hilft Dateien in ...

Batch & Shell

Batch vergleich von zwei dateien

gelöst Frage von realdavegerBatch & Shell6 Kommentare

Hallo, nach Jahrelangem zugucken, habe ich jetzt schlussendlich eine Frage welche ich selbst stelle. Ich versuche 2 zeiten aus ...

Batch & Shell

Verzeichnis überwachen und Aktion ausführen

gelöst Frage von jan99Batch & Shell1 Kommentar

Moin ! ich habe ein Verzeichnis in welche DLL und tbp-Dateien (für Topobase) abgelegt werden sollen. Immer wenn diese ...

Batch & Shell

Batch vergleiche Dateien mit Zeitstempel

gelöst Frage von Streuner1Batch & Shell5 Kommentare

Hallo, ich möchte mit einer batch in einem Ordner Dateien mit einem Zeitstempel suchen, vergleichen, kopieren und löschen. Möglichkeiten: ...

Neue Wissensbeiträge
Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 8 StundenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 8 StundenSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 11 StundenMicrosoft3 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 1 TagWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

Heiß diskutierte Inhalte
Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server40 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Router & Routing
ISC DHCP 2 Subnetze
gelöst Frage von janosch12Router & Routing19 Kommentare

Hallo, ich betreibe bei mir im Netzwerk einen ISC DHCP Server auf Debian, der DHCP verwaltet aktuell ein /24 ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...