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

txt vergleichen und verarbeiten

Frage Entwicklung Batch & Shell

Mitglied: Opachl

Opachl (Level 1) - Jetzt verbinden

28.10.2007, aktualisiert 23:58 Uhr, 2646 Aufrufe, 1 Kommentar

Ich weiß zwar das dies hier schon merfach steht dennoch verstehe ich es nicht richtig.


Was ich benötige ist ein vergleich zweier Werte:


ich habe eine body.txt mit dem Inhalt "91.7.76.233" ohne " "

dies ist die Ip von meinem Server die ich per mail an mich senden möchte da ich aber nicht alle habe Stunde eine Mail haben möchte wenn die Ip sich nich ändert brauche ich einen vergleich.
batch wird per taskplaner ausgeführt

dh. wenn die batch erkennt das in dem body.txt die gleiche ip steht als die momentane dann beenden
wenn nicht dann email senden.
Geht das ? Und wenn ja wie
Hier mein script:

@echo off
set pc=%computername:~0,4%
set in=C:\WINDOWS\Prefetch\wanip.txt
set out=C:\WINDOWS\Prefetch\body.txt

/ip rausfinden

echo GET HTTP/1.1>get
echo.>>get
nc.exe -vv checkip.dyndns.org 80<get>tmpip.txt
FOR /F "tokens=* skip=7" %%I IN (tmpip.txt) DO echo %%I>tmp.txt
FOR /F "tokens=8 delims=<>" %%I IN (tmp.txt) DO echo %%I>%in%
del tmpip.txt
del tmp.txt
sed "s/Current IP Address: //g" <%in%> %out%
del %in%


Blat -install %pc% xxxxxx@web.de
Blat "pfad zur body txt" -to xxxxxx@hotmail.de -server smtp.web.de -u xxxxx -pw xxxxxxx -debug -timestamp -log blatSMTPlog.txt -subject "Neue Wan-Ip"
Mitglied: Biber
28.10.2007 um 23:58 Uhr
Moin Opachl,

das Schreiben ohne Punkt und Komma kann manchmal unfreiwillig komisch wirken...
die ich per mail an mich senden möchte da ich aber nicht alle habe

Wenn ich Dich richtig verstanden habe, hast Du vielleicht nicht alle, aber dafür die IP 91.7.76.233 in der body.txt.
Mit...
01.
set /P jetzigeIP=<%out%
....hättest Du sie dann in der Variablen %jetzigeIP%.
Den Ausgabestring der nc.exe kenne ich nicht, aber wenn ich es richtig sehe, speichert Du hier...
01.
.. 
02.
sed "s/Current IP Address: //g" <%in%> %out%
...die neue IP im gleichen Format wie die alte. Und überklatscht dabei blind die vorhandene Jetzt-IP-Information.

Also würde ich die Mimik so variieren:
01.
... 
02.
set out=C:\WINDOWS\Prefetch\body.txt 
03.
set "newiP=%temp%\newIp.txt" 
04.
.... 
05.
sed "s/Current IP Address: //g" <%in%> %newIP% 
06.
set /P jetzigeIP=<%out% 
07.
set /P neueIP=<%newIP% 
08.
:: wenn alte IP = neue IP nix machen 
09.
IF [%jetzigeIP%]==[%neueIP%] goto :eof 
10.
:: ... ansonsten : Mail per Blat setzen. 
11.
.... 
12.
....
Grüße
Biber
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Microsoft Office
gelöst Excel VBA: Automatische Konvertierung von Textdatei (.txt) zu Exceldatei (.xlsx) (7)

Frage von Booster07 zum Thema Microsoft Office ...

Batch & Shell
Maximale Größe zu verarbeitender txt-Dateien mit Batch (5)

Frage von Muck1303 zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell - 2 Arrays vergleichen und gleiche Einträge verbinden (6)

Frage von internet2107 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Bestehende eMails autoamatisch weiterleiten (22)

Frage von metal-shot zum Thema Exchange Server ...

Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (22)

Frage von Winuser zum Thema Hyper-V ...

Apache Server
Lets Encrypt SSL mit Apache2 (19)

Frage von banane31 zum Thema Apache Server ...

SAN, NAS, DAS
gelöst Synology Version 6.1 Probleme (18)

Frage von Hendrik2586 zum Thema SAN, NAS, DAS ...