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, 2651 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 ..
Ähnliche Inhalte
Batch & Shell
Per Batch eine XLS-Datei in eine TXT-Datei umwandeln (5)

Frage von skiing69 zum Thema Batch & Shell ...

Batch & Shell
gelöst Zeiten in .txt datei auslesen und Differenz berechnen (10)

Frage von meex87 zum Thema Batch & Shell ...

Microsoft Office
gelöst Excel: Wert aus mehreren Zeilen vergleichen (2)

Frage von Nicolaas zum Thema Microsoft Office ...

Batch & Shell
gelöst Vorhandene TXT per Batch aktualisieren (6)

Frage von kampen zum Thema Batch & Shell ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(10)

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 ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

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

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

LAN, WAN, Wireless
Brauche Hilfe: Mit (schnellem) WLAN Strecke überbrücken (23)

Frage von pierrehansen zum Thema LAN, WAN, Wireless ...

Basic
Programmierung von Windows Programmen (10)

Frage von Ghost108 zum Thema Basic ...