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

Koordinaten mittels Batchdatei aus .txt Datei exportieren

Frage Entwicklung Batch & Shell

Mitglied: PXProf

PXProf (Level 1) - Jetzt verbinden

27.05.2014 um 23:25 Uhr, 1807 Aufrufe, 11 Kommentare, 1 Danke

Hallo,
in unserer Feuerwehr bekommen wir bei einer Alarmierung auch immer eine E-Mail die auf unserem Server Empfangen wird und wodurch auch die PC's in der Einsatzzentrale gestartet werden.
Jetzt will ich das ganze erweitern. Eine Zeile innerhalb der E-Mail enthält die Koordinaten der Einsatzstelle:
Koordinaten: POINT(1.23456 12.3456789)
Diese Zeile ist innerhalb einer Datei des E-Mail Programms auf das ich zugreifen kann. Da es immer um die aktuelle Alarmierung geht, dreht es sich um das letzte vorkommen dieser Zeile.
Diese beiden Werte sollen Extrahiert werden und in einer extra .txt Datei bereitgestellt werden. Eine andere Bat-Datei die im Autostart einer der PC's in der Einsatzzentrale liegt, soll dann Firefox mit der URL auf maps.google öffnen, so das die Feuerwehrleute beim eintreffen in der Einsatzzentrale direkt auf dem Bildschirm sehen können wo der Einsatz ist. Der Befehl um maps in Firefox mit einer bestimmten Koordinate zu öffnen ist:
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" https://www.google.de/maps/@1.23456,12.3456789,14z
Danke schon mal im voraus an alle die sich Gedanken machen werden^^
Mitglied: Xaero1982
28.05.2014 um 09:13 Uhr
Moin,

hast du dir denn schon mal Gedanken gemacht wie man das umsetzen kann?

Verstehe mich nicht falsch, aber für "neue" ist das immer etwas schwerer hier Die meisten kommen ins Forum, stellen eine Frage und waren nicht mehr gesehen.
Gib uns einen Ansatz und wir helfen dir beim Umsetzen.

Gruß
Bitte warten ..
Mitglied: PXProf
28.05.2014 um 16:52 Uhr
Also bis jetzt habe ich Folgendes:
Die Mail kommen in Thunderbird an, eine Interne Filterregel in Thunderbird verschiebt die Mails von der Leitstelle in einen Lokalen Ordner. Das Thunderbird Addon Mailbox-Alert erkennt das eintreffen neuer Mails und Startet daraufhin eine Batch-Datei die mittels WOL-Anweisung die 4 PC's in der Einsatzzentrale startet, des Weiteren legt sie auf einem Netzlaufwerk (USB-Stick in der Fritz.Box) 4 Dateien an. Im Autostartordner der einzelnen PC's in der Einsatzzentrale liegen jeweils auch eine Batch-Datei die beim Start überprüft ob die jeweilig dem PC zugeordnete Datei auf dem Netzlaufwerk liegt. Daran erkennt das Programm ob der PC Manuell oder in Folge eines Alarms hochgefahren wurde. Sind die Dateien vorhanden öffnet jeder Rechner ein voreingestelltes Programm. Thunderbird, Einsatzprotokoll, Einsatzpläne und Maps.
Das ist soweit der Stand der dinge wie es momentan funktioniert.
Sogar auf die Mails von Thunderbird kann ich mittels Batch-Datei zugreifen und habe es auch geschafft den String "Koordinaten: POINT(1.23456 12.3456789)" zu Extrahieren. Leider kenne ich mich mit Stringmanipulation auf Batch-Ebene nicht gut genug aus um diese zwei Werte separat heraus zu bekommen, vor allem da die Zahlen ja auch unterschiedlich lang sind und obwohl immer nur die letzte Mail im Thunderbird-Ordner verbleibt, sind in der Datei die diesen Ordner Repräsentiert mehrere Mails drin. Aber wie gesagt, die Relevanten Koordinaten sind die des letzten Auftretens.
Bitte warten ..
Mitglied: Xaero1982
28.05.2014 um 17:01 Uhr
Schön, dann hast du ja sicher schon mal den String:

"Koordinaten: POINT(1.23456 12.3456789)" in einer Variable gespeichert, richtig?

Nennen wir sie einfach %var1%
Nun erstellen wir eine neue Variable mit dem was wir brauchen:

01.
 set var2=%var1:~19,-1%
Da ich davon ausgehe, dass der Inhalt "Koordinaten: POINT(" immer identisch ist trenne ich mit ~19 die ersten 19 Zeichen ab (wenn ich mich nicht verzählt habe). mit -1 trennen wir die ")" ab.

Dann ist die neue Variable: %var2%=1.23456 12.3456789

Nun müssen wir die noch zerlegen:
01.
for /f "tokens=1* delims= " %%a in ("%var2%") do echo Variable1: %%a  Variable2: %%b
Der Bastla oder so haben da sicher eine einfachere elegantere Möglichkeit

Gruß
Bitte warten ..
Mitglied: bastla
28.05.2014 um 19:24 Uhr
Hallo PXProf und willkommen im Forum, hallo Xaero1982!

Unter der Annahme, dass der Batch mit Übergabe der Maildatei als Parameter aufgerufen wird und der letzte Teil der URL (",14z") konstant ist, sollte eigentlich
for /f "tokens=3,4 delims=() " %%a in ('findstr "POINT" %1') do "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" https://www.google.de/maps/@%%a,%%b,14z
genügen ...

Grüße
bastla
Bitte warten ..
Mitglied: Xaero1982
28.05.2014 um 20:50 Uhr
Hallo Bastla,

sollte dann nicht das:

01.
for /f "tokens=3,4 delims=() " %%a in ('findstr "POINT" Test.txt') do echo Variable1: %%a  Variable2: %%b
unter der Annahme, dass in der letzten Zeile POINT(1.23456 12.3456789) steht nicht

01.
Variable1: 1.23456  
02.
Variable2: 12.3456789
ausgeben?

Bei mir kommt aber:

01.
Variable1: 12.3456789 
02.
Variable2: 
heraus.

Gruß
Bitte warten ..
Mitglied: bastla
28.05.2014 um 20:54 Uhr
Hallo Xaero1982!

Ich bin von einer Zeile
Koordinaten: POINT(1.23456 12.3456789)
ausgegangen - falls es nur
POINT(1.23456 12.3456789)
hieße, wären die Tokens 2 und 3 zu verwenden ...

Grüße
bastla
Bitte warten ..
Mitglied: Xaero1982
28.05.2014 um 20:55 Uhr
Jau, habs gerade entdeckt

Danke für die Aufklärung.

Gruß
Bitte warten ..
Mitglied: Xaero1982
02.06.2014 um 17:27 Uhr
Ist das eigentlich erledigt?
Bitte warten ..
Mitglied: PXProf
07.06.2014, aktualisiert um 21:18 Uhr
Nein leider nicht.
Sry das ich mich erst jetzt wieder melde.
Momentan habe ich ein problem am anderen Ende.
Die Datei, die mir die Zeile mit den Koordinaten aus der E-Mail Datei exportieren sollte.
Sie sieht so aus:

@echo off & SetLocal EnableDelayedExpansion
for /f %%i in (Z:\JS\Alarm) do (
set "zeile=%%i"
set "vergl=%zeile:~0,12%"
if "!vergl!"=="Koordinaten:" set"erg=%%i"
)
echo %%erg>>ausgabe.txt

Allerdings steht in der ausgabe.txt momentan nur
%erg
Könnt ihr mir dabei auch noch helfen?

PS: Des Weiteren wird die Datei im Zielrechner nicht mittels Parameter übergeben.
Eine Start.bat Datei liegt im Autostart-Ordner des PC's. Wie müsste man obiges Beispiel abändern damit es mit einem festen Pfad zur Datei Arbeitet anstatt mittels Parameterübergabe?
Bitte warten ..
Mitglied: Xaero1982
07.06.2014, aktualisiert um 23:05 Uhr
Hi,

verstehe ich nicht,
Mit dem Code von mir oben oder dem von Bastler musst du nichts extrahieren.
Da nimmst du einfach die Datei wo dir Zeile und alles andere drin steht. - sprich die mail und lässt dort den Code drüber laufen.

Er sucht das Wort Point und gibt dann die beiden Werte aus...und ruft im Falle vom Script von bastla den ff auf...

Gruß
ps: im script von bastla das %1 durch den Namen inkl. Pfad ändern.
Bitte warten ..
Mitglied: bastla
07.06.2014 um 23:06 Uhr
Hallo PXProf!

Abgesehen davon, dass bei "gewöhnlichen" Variablen (wie %erg%) die Prozentzeichen vor und nach dem Variablennamen stehen, sollte ein einfaches
findstr /b "Koordinaten:">>ausgabe.txt
schon genügen - wobei ja oben nicht wirklich anders vorgegangen wird, nur eben mit dem Suchbegriff "POINT" ...
Wie müsste man obiges Beispiel abändern damit es mit einem festen Pfad zur Datei Arbeitet anstatt mittels Parameterübergabe?
Den Parameter (%1) durch den festen Pfad ersetzen?

Grüße
bastla

P.S.: Batches lassen sich leichter lesen und referenzieren, wenn sie passend formatiert sind (lässt sich auch nachträglich noch hinzufügen) ...
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst In Batchdatei Variablen befüllen - mit Werten aus einer TXT-Datei (6)

Frage von donnyS73lb zum Thema Batch & Shell ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Webentwicklung
gelöst HTML Output in eine txt Datei mit VisualBasicScript (2)

Frage von coca22COCA zum Thema Webentwicklung ...

Batch & Shell
Merkwürdige Zeilenformatierung in txt Datei (3)

Frage von miczar zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...