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 Geotagging via SMS und UMTS-Stick

Mitglied: Speider13

Speider13 (Level 1) - Jetzt verbinden

27.01.2013, aktualisiert 18:37 Uhr, 2091 Aufrufe, 19 Kommentare

Hallo,

ich hätte eine frage und komme im momment nicht so ganz klar damit.

Ich habe ein "Gerät" das sendet die aktuelle Position via SMS als "Google Maps URL" an meinen Windows PC an dem ein UMTS-Stick dran ist.
Jetzt hätte ich aber die Postionen gerne in Google Earth oder in einem ähnlichen Programm, hätte jemand eine Idee für eine Batch Datei?

Die Text Datei in der die SMS gespeichert wird sieht so aus:

01.
2013-01-27 13:06:15'43 SMS: +49100000000 2013-01-27 13:05:49 [04] 
02.
27.01.2013 13:05 
03.
https://maps.google.de/maps?q=+48%C2%B024'10.25%22N+++9%C2%B058'18.83%22E&hl=de&ie=UTF8&ll=48.401742,9.97683&spn=0.013063,0.033023&sll=48.661847,9.003665&sspn=6.654792,16.907959&t=h&z=16

Oder wen das nicht klappen sollte, dann hätte ich wenigstens gerne eine schöne Sicherungsdatei, in der die URLs stehen.



Vielleicht weiß es ja jemand.


Viele Grüße
Robin
Mitglied: MrNetman
27.01.2013 um 14:53 Uhr
Hi Speider,

ich sehe keinerlei Geoinformation in der Zeile.
Anosonsten macht man das in etwa so, dass man die empfangene Zeile an eine vorhandene Datei anhängt. Das geht mit nahezu allen BATCH Kommandos.
In der Batch ist das das Zeichen ">>"getagt.txt oder .CSV. Dann kann man das Zeilenweise wieder abarbeiten.

Gruß
Netman
Bitte warten ..
Mitglied: Speider13
27.01.2013, aktualisiert um 17:28 Uhr
Hallo Netman,

die URL sollte dann praktisch der google Maps Link sein.

Wie in etwa müsste die Batch datei dann aussehen?
also praktisch muss man ja Zeile "3" kopieren und irgendwie so umwandeln das es Google Earth oder ein anderes Programm lesen kann umändern, oder?

Gruß
Robin
Bitte warten ..
Mitglied: rubberman
27.01.2013, aktualisiert um 18:13 Uhr
Hallo Speider13, willkommen im Forum.

Zitat von Speider13:
Die Text Datei in der die SMS gespeichert wird sieht so aus:
2013-01-27 13:06:15'43 SMS: +49100000000 2013-01-27 13:05:49 [04]
URL

also praktisch muss man ja Zeile "3" kopieren

Wenn du uns nun noch erzählst, wo du eine Zeil 3 siehst (gepostet hast du 2) und wie diese aussieht, könnte man vielleicht auch was daraus machen. Aus deinen Informationen kann ich diesbezüglich nichts nützliches entnehmen (und offensichtlich bin ich da nicht der einzige).

Grüße
rubberman
Bitte warten ..
Mitglied: Speider13
27.01.2013, aktualisiert um 18:40 Uhr
Hallo danke,

sorry, zwischen dem Datum und der URL ist noch eine Leerzeile, dass hat das aber nicht angezeigt, tut aber ja auch nichts zur Sache denke ich :D

so ne google Maps URL sieht so aus:
01.
https://maps.google.de/maps?q=+48%C2%B024'10.25%22N+++9%C2%B058'18.83%22E&hl=de&ie=UTF8&ll=48.401742,9.97683&spn=0.013063,0.033023&sll=48.661847,9.003665&sspn=6.654792,16.907959&t=h&z=16
Also nochmal zusammengefasst:
1. Zeile Zeit und Datum vom SMS Programm
2. Zeile Zeit und Datum vom Absender
3. Zeile die Google Maps URL

01.
2013-01-27 13:06:15'43 SMS: +49100000000 2013-01-27 13:05:49 [04] 
02.
27.01.2013 13:05 
03.
https://maps.google.de/maps?q=+48%C2%B024'10.25%22N+++9%C2%B058'18.83%22E&hl=de&ie=UTF8&ll=48.401742,9.97683&spn=0.013063,0.033023&sll=48.661847,9.003665&sspn=6.654792,16.907959&t=h&z=16
Ich denke jetzt sieht es besser aus ;)

Viele Grüße
Robin
Bitte warten ..
Mitglied: rubberman
27.01.2013 um 19:07 Uhr
Hallo Speider13,

ja jetzt wird das was.
Bei mir heißt die Textdatei test.txt, musst du entsprechend anpassen.
01.
@echo off &setlocal 
02.
for /f "usebackq skip=2 delims=" %%i in ("test.txt") do if not defined url set "url=%%i" 
03.
start "" "%url%"
Alternativ drag/drop Textdatei auf das Script:
01.
@echo off &setlocal 
02.
for /f "usebackq skip=2 delims=" %%i in ("%~1") do if not defined url set "url=%%i" 
03.
start "" "%url%"
Grüße
rubberman
Bitte warten ..
Mitglied: Speider13
27.01.2013, aktualisiert um 19:39 Uhr
Wow super!

das funktioniert echt super!
leider ohne Google Earth funktion, aber ist aber auch so ganz gut


Und nochmals vielen Dank!
Bitte warten ..
Mitglied: rubberman
28.01.2013, aktualisiert um 00:29 Uhr
Hallo Speider13.

Das Spielchen mit Google Earth zu betreiben, ist noch mal eine andere Liga. Hier kommst du mit Batch nicht weit, JScript würde sich da eher anbieten.
Um die Sache nicht unnötig zu verkomplizieren, gehe ich davon aus, dass die Koordinaten immer in Grad, Minuten und Sekunden Nord bzw. Ost angegeben sind und dass die Dateiendung *.kml mit Google Earth assoziiert ist.

Speichere folgenden Code als *.js Datei ab und ziehe deine Textdatei auf des Script.
01.
if (WScript.arguments.count() != 1) {WScript.quit();} 
02.
 
03.
var oFSO = new ActiveXObject('Scripting.FileSystemObject'); 
04.
var oWShell = new ActiveXObject('WScript.Shell') 
05.
oWShell.CurrentDirectory = oFSO.GetParentFolderName(WScript.ScriptFullName); 
06.
 
07.
var oFile = oFSO.OpenTextFile(WScript.arguments(0)); 
08.
var url; 
09.
var s = ''; 
10.
while (!oFile.AtEndOfStream) { 
11.
  url = oFile.ReadLine(); 
12.
  if (url.substr(0, 4) == 'http') { 
13.
    var query = url.split('?'); 
14.
    var vars = query[1].split('&'); 
15.
    for (var i = 0; i < vars.length; ++i) { 
16.
      var pair = vars[i].split('='); 
17.
      if (decodeURIComponent(pair[0]) == 'q') { 
18.
        s = decodeURIComponent(pair[1]); 
19.
20.
21.
22.
23.
oFile.close(); 
24.
oFile = null; 
25.
 
26.
if (s == '') {WScript.quit();} 
27.
 
28.
var oRepl = new RegExp('[+°\'"NE]', 'g'); 
29.
s = s.replace(oRepl, ' '); 
30.
for (var i = 0; i < 20; ++i) {s = s.replace('  ', ' ');} 
31.
if (s.charAt(0) == ' ') {s = s.substr(1);} 
32.
 
33.
var a = s.split(' '); 
34.
var north = parseFloat(a[0]) + parseFloat(a[1]) / 60 + parseFloat(a[2]) / 3600; 
35.
var east = parseFloat(a[3]) + parseFloat(a[4]) / 60 + parseFloat(a[5]) / 3600; 
36.
 
37.
oFile = oFSO.OpenTextFile('location.kml', 2, true); 
38.
oFile.WriteLine('<?xml version="1.0" encoding="Windows-1252"?>'); 
39.
oFile.WriteLine('<kml xmlns="http://www.opengis.net/kml/2.2">'); 
40.
oFile.WriteLine('  <Placemark>'); 
41.
oFile.WriteLine('    <name>Position</name>'); 
42.
oFile.WriteLine('    <description>Koordinaten via SMS.</description>'); 
43.
oFile.WriteLine('    <Point>'); 
44.
oFile.WriteLine('      <coordinates>' + east + ',' + north + ',0</coordinates>'); 
45.
oFile.WriteLine('    </Point>'); 
46.
oFile.WriteLine('  </Placemark>'); 
47.
oFile.WriteLine('</kml>'); 
48.
oFile.close(); 
49.
 
50.
oWShell.run('location.kml');
Grüße
rubberman
Bitte warten ..
Mitglied: Speider13
28.01.2013 um 02:07 Uhr
Wow, das ist ein Monster! Danke ;)

Nur habe ich noch drei Probleme:
1. Wen ich mit dem Befehl eine .txt erstelle, steht der Text dort drin nur mit "Text" also mit Anführungszeichen. echo "%url%" >> %Earth%\%Nr%\%Datum::=.%.txt
was ist falsch?

2. Wie ist es möglich die .js Datei von einer Batch Datei zu starten?
Also so funktioniert es nicht:
start "%Quelle%\%Nr%\%Datum%.txt" "D:\SMS\Earth.js"

3. Kann man die .js auch so umschreiben das es mehrere Koordinaten aus einer Textdatei in der mehrere Links drin sind rausliest? Weil im Momment nimmt es immer nur eine URL.

Viele Grüße
Robin
Bitte warten ..
Mitglied: rubberman
28.01.2013 um 19:36 Uhr
Hallo Speider 13

1. Wen ich mit dem Befehl eine .txt erstelle, steht der Text dort drin nur mit "Text" also mit Anführungszeichen.
echo "%url%" >> %Earth%\%Nr%\%Datum::=.%.txt
was ist falsch?
Falsch ist erst mal dass du es aus dem Zusammenhang gerissen hast. So kann ich dir das auch nicht beantworten. Im ganzen Batch bitte


2. Wie ist es möglich die .js Datei von einer Batch Datei zu starten?
Also so funktioniert es nicht:
start "%Quelle%\%Nr%\%Datum%.txt" "D:\SMS\Earth.js"
So ähnlich.
start "" wscript "D:\SMS\Earth.js" "%Quelle%\%Nr%\%Datum%.txt"

3. Kann man die .js auch so umschreiben das es mehrere Koordinaten aus einer Textdatei in der mehrere Links drin sind rausliest?
Weil im Momment nimmt es immer nur eine URL.
Kann man.
01.
if (WScript.arguments.count() != 1) {WScript.quit();} 
02.
 
03.
var oFSO = new ActiveXObject('Scripting.FileSystemObject'); 
04.
var oWShell = new ActiveXObject('WScript.Shell') 
05.
var oRepl = new RegExp('[+°\'"NE]', 'g'); 
06.
oWShell.CurrentDirectory = oFSO.GetParentFolderName(WScript.ScriptFullName); 
07.
 
08.
var oFile2 = oFSO.OpenTextFile('location.kml', 2, true); 
09.
oFile2.WriteLine('<?xml version="1.0" encoding="Windows-1252"?>'); 
10.
oFile2.WriteLine('<kml xmlns="http://www.opengis.net/kml/2.2">'); 
11.
oFile2.WriteLine('  <Document>'); 
12.
 
13.
var oFile1 = oFSO.OpenTextFile(WScript.arguments(0)); 
14.
var url, s, n = 0; 
15.
while (!oFile1.AtEndOfStream) { 
16.
  url = oFile1.ReadLine(); 
17.
  if (url.substr(0, 4) == 'http') { 
18.
    var query = url.split('?'); 
19.
    var vars = query[1].split('&'); 
20.
    for (var i = 0; i < vars.length; ++i) { 
21.
      var pair = vars[i].split('='); 
22.
      if (decodeURIComponent(pair[0]) == 'q') { 
23.
        n += 1; 
24.
        s = decodeURIComponent(pair[1]); 
25.
        s = s.replace(oRepl, ' '); 
26.
        for (var i = 0; i < 20; ++i) {s = s.replace('  ', ' ');} 
27.
        if (s.charAt(0) == ' ') {s = s.substr(1);} 
28.
        var a = s.split(' '); 
29.
        var north = parseFloat(a[0]) + parseFloat(a[1]) / 60 + parseFloat(a[2]) / 3600; 
30.
        var east = parseFloat(a[3]) + parseFloat(a[4]) / 60 + parseFloat(a[5]) / 3600; 
31.
        oFile2.WriteLine('    <Placemark>'); 
32.
        oFile2.WriteLine('      <name>Position ' + n + '</name>'); 
33.
        oFile2.WriteLine('      <description>Koordinaten via SMS.</description>'); 
34.
        oFile2.WriteLine('      <Point>'); 
35.
        oFile2.WriteLine('        <coordinates>' + east + ',' + north + ',0</coordinates>'); 
36.
        oFile2.WriteLine('      </Point>'); 
37.
        oFile2.WriteLine('    </Placemark>'); 
38.
39.
40.
41.
42.
oFile1.close(); 
43.
 
44.
oFile2.WriteLine('  </Document>'); 
45.
oFile2.WriteLine('</kml>'); 
46.
oFile2.close(); 
47.
 
48.
if (n == 0) {WScript.quit();} 
49.
 
50.
oWShell.run('location.kml', 3);

Grüße
rubberman
Bitte warten ..
Mitglied: Speider13
28.01.2013 um 21:47 Uhr
Super danke!
Die beiden Sachen funktionieren super!

Und um ersten Problem:

01.
@echo off &setlocal 
02.
set "Quelle=D:\Benutzer\smstest.txt" 
03.
set "Earth=D:\Benutzer\Earth" 
04.
 
05.
for /f "usebackq skip=2 delims=" %%i in ("test.txt") do if not defined url set "url=%%i" 
06.
start "" "%url%" 
07.
for /f "usebackq skip=1 tokens=2 delims=h" %%i in (%Quelle%) do if not defined url set "url=%%i" 
08.
start "" "h%url%" 
09.
 
10.
if not exist "%Earth%\%Nr%" md "%Earth%\%Nr%" 
11.
echo "h%url%" >> %Earth%\%Nr%\%Datum::=.%.txt
Bei der leitzen Zeile wird die txt erstellt, nur sieht die dann so aus
01.
"https://maps.google.de/maps?q=+48%C2%B024'10.25%22N+++9%C2%B058'18.83%22E&" 
Also es sind immer " dabei, die sollten aber weg.

Viele Grüße
Robin
Bitte warten ..
Mitglied: rubberman
28.01.2013 um 22:09 Uhr
Hallo Speider13.

Um nicht alle möglichen Zeichen maskieren zu müssen, würde ich auf die verzögerte Variablenerweiterung zurück greifen.
Für deine Zeile 11 die folgenden drei:
01.
setlocal EnableDelayedExpansion 
02.
>>"!Earth!\!Nr!\!Datum::=.!.txt" echo h!url! 
03.
endlocal


Grüße
rubberman
Bitte warten ..
Mitglied: Speider13
28.01.2013 um 22:53 Uhr
Super funktioniert!

Also jetzt habe ich es dann :D
wird auch Zeit, ich glaube ich nerve ziemlich xD


Falls doch noch jemand Lust hat, würde das gehen das die Punkte noch mit Linien nacheinander verbunden werden in Google Earth, also praktisch eine Route.

Viele Grüße
Bitte warten ..
Mitglied: rubberman
28.01.2013, aktualisiert 29.01.2013
Hallo Speider13.

Bin mit Google Earth nicht vertraut (konkret habe ich es nur installiert, um das .js zu testen). Hast du so etwas schon mal in GE gesehen? Falls ja, wird das auch irgendwie funktionieren. Kannst ja mithelfen eine Vorlage für eine .kml Datei zu finden, die so etwas beispielhaft beschreibt. Die Umsetzung im Script sollte dann vermutlich nicht mehr das Problem sein.

Grüße
rubberman

PS: Wenn du mit "Route" meinst, dass einem Straßenverlauf gefolgt werden soll, dann nein. Dazu wäre eine Datenbank nötig, die sämtliche Straßenverläufe beinhaltet. So wie bspw. Navigationssysteme solche Datenbanken haben oder auf solche zurück greifen.
Bitte warten ..
Mitglied: Speider13
29.01.2013, aktualisiert um 16:54 Uhr
Hallo,

ne ich meinte nur das die Punkte zusammen verbunden werden, ist aber nicht so wichtig.
Das passt so schon. Auf jedefall funktioniert fast alles so wie es soll, echt super von euch!

Nur habe ich jetzt ein Problem, ist mir ziemlich peinlich, aber die URLs sehen doch etwas anderst aus, sodas das Script die nicht mehr verarbeiten kann. :O

01.
http://maps.google.com/maps?f=q&q=68.498772,20.020090&z=16
Also sind die Koordinaten in dem Fall: 68.498772,20.020090

in der .kml Datei steht nur "NaN,NaN,0"

Sorry nochmal

Viele Grüße
Robin
Bitte warten ..
Mitglied: rubberman
29.01.2013 um 18:36 Uhr
Hallo Speider13.

Wenn die URL so aussieht, vereinfacht das die Verarbeitung sogar. Letztlich werden Längen- und Breitengrad als Dezimalzahl benötigt.
Wie man die Punkte verbindet, habe ich mittlerweile auch heraus gefunden.
01.
if (WScript.arguments.count() != 1) {WScript.quit();} 
02.
 
03.
var oFSO = new ActiveXObject('Scripting.FileSystemObject'); 
04.
var oWShell = new ActiveXObject('WScript.Shell') 
05.
oWShell.CurrentDirectory = oFSO.GetParentFolderName(WScript.ScriptFullName); 
06.
 
07.
var oFile2 = oFSO.OpenTextFile('location.kml', 2, true); 
08.
oFile2.WriteLine('<?xml version="1.0" encoding="Windows-1252"?>'); 
09.
oFile2.WriteLine('<kml xmlns="http://www.opengis.net/kml/2.2">'); 
10.
oFile2.WriteLine('  <Document>'); 
11.
oFile2.WriteLine('    <Style id="lineStyle">'); 
12.
oFile2.WriteLine('      <LineStyle>'); 
13.
oFile2.WriteLine('        <color>80ff0000</color>'); 
14.
oFile2.WriteLine('        <width>6</width>'); 
15.
oFile2.WriteLine('      </LineStyle>'); 
16.
oFile2.WriteLine('    </Style>'); 
17.
 
18.
var oFile1 = oFSO.OpenTextFile(WScript.arguments(0)); 
19.
var url, s, pt, line = '', n = 0; 
20.
while (!oFile1.AtEndOfStream) { 
21.
  url = oFile1.ReadLine(); 
22.
  if (url.substr(0, 4) == 'http') { 
23.
    var query = url.split('?'); 
24.
    var vars = query[1].split('&'); 
25.
    for (var i = 0; i < vars.length; ++i) { 
26.
      var pair = vars[i].split('='); 
27.
      if (decodeURIComponent(pair[0]) == 'q') { 
28.
        n += 1; 
29.
        s = decodeURIComponent(pair[1]); 
30.
        pt = s.split(','); 
31.
        oFile2.WriteLine('    <Placemark>'); 
32.
        oFile2.WriteLine('      <name>Position ' + n + '</name>'); 
33.
        oFile2.WriteLine('      <description>Koordinaten via SMS.</description>'); 
34.
        oFile2.WriteLine('      <Point>'); 
35.
        oFile2.WriteLine('        <coordinates>' + pt[1] + ',' + pt[0] + ',0</coordinates>'); 
36.
        oFile2.WriteLine('      </Point>'); 
37.
        oFile2.WriteLine('    </Placemark>'); 
38.
        line += pt[1] + ',' + pt[0] + ',0 '; 
39.
40.
41.
42.
43.
oFile1.close(); 
44.
 
45.
oFile2.WriteLine('    <Placemark>'); 
46.
oFile2.WriteLine('      <name>Verbindungslinie</name>'); 
47.
oFile2.WriteLine('      <description>Linie zwischen den Einzelpositionen</description>'); 
48.
oFile2.WriteLine('      <styleUrl>#lineStyle</styleUrl>'); 
49.
oFile2.WriteLine('      <GeometryCollection>'); 
50.
oFile2.WriteLine('        <LineString>'); 
51.
oFile2.WriteLine('          <coordinates>' + line + '</coordinates>'); 
52.
oFile2.WriteLine('        </LineString>'); 
53.
oFile2.WriteLine('      </GeometryCollection>'); 
54.
oFile2.WriteLine('    </Placemark>'); 
55.
oFile2.WriteLine('  </Document>'); 
56.
oFile2.WriteLine('</kml>'); 
57.
oFile2.close(); 
58.
 
59.
if (n == 0) {WScript.quit();} 
60.
 
61.
oWShell.run('location.kml', 3);
Grüße
rubberman
Bitte warten ..
Mitglied: Speider13
29.01.2013, aktualisiert um 20:57 Uhr
WOW du bist unglaublich!
Das funktioniert super!!

Nur kam jetzt mal wieder ein Problem...

die bat wird sobald ich sie ausführ 3 mal! ausgeführt?!

Es muss ja was mit dem URL Teil zutun haben ab Zeile 25

01.
@echo off & setlocal 
02.
:set "Quelle=C:\Dokumente und Einstellungen\Benutzer\Startmenü\Programme\MWconn\sms1.txt" 
03.
set "Quelle=D:\SMS\sms1.txt" 
04.
set "Ziel=D:\SMS\Sicherung" 
05.
set "Main=D:\SMS" 
06.
 
07.
set Kopf=True 
08.
for /f "usebackq delims=" %%i in ("%Quelle%") do set "Zeile=%%i" & call :ProcessLine 
09.
goto :eof 
10.
 
11.
:ProcessLine 
12.
set "Zeile=%Zeile:>=^>%" 
13.
set "Zeile=%Zeile:<=^<%" 
14.
if not defined Kopf (echo %Zeile%)>>"%Datei%" & set Kopf=True & goto :eof 
15.
 
16.
for /f "usebackq tokens=2 delims=+" %%l in ('echo %Zeile:'=%') do for /f "tokens=1-3" %%a in ('echo %%l') do set "Nr=%%a" & set "Datum=%%b" & set "Zeit=%%c" 
17.
if not exist "%Ziel%\%Nr%" md "%Ziel%\%Nr%" 
18.
set "Datei=%Ziel%\%Nr%\%Datum::=.%.csv" 
19.
set Kopf= 
20.
 
21.
 
22.
FOR /F "tokens=1,2,3 delims=/: " %%a in ('Time/T') do set CTIME=%%a%%b%%c 
23.
 
24.
 
25.
for /f "usebackq skip=2 tokens=2 delims=h" %%i in (%Quelle%) do if not defined url set "url=%%i" 
26.
start "" "h%url%" 
27.
if not exist "%Earth%\%Nr%" md "%Earth%\%Nr%" 
28.
setlocal EnableDelayedExpansion 
29.
>>"!Earth!\!Nr!\!Datum::=.!.txt" echo h!url! 
30.
endlocal
Und das ist die Nachricht

01.
2013-01-28 20:06:15'43 SMS: +49 2013-01-28 20:05:49 [04] 
02.
 
03.
2013-01-28 20:06:15 
04.
speed:1.57 
05.
T:13/01/29 16:32 
06.
bat:100% 395711031304228 
07.
 http://maps.google.com/maps?f=q&q=48.498772,10.020090&z=16
aber warum wird die bat 3mal ausgeführt?! seltsam!
Wen ich z.B. nur ne 2 Zeilige Nachricht habe funktioniert sie einwandfrei!

Es ist zum verrückt werden!!!!
Bitte warten ..
Mitglied: rubberman
29.01.2013 um 21:30 Uhr
Hallo Speider13.

Wie kommst du darauf, dass die Batchdatei 3x ausgeführt wird ?
Du rufst für jede Zeile in sms1.txt die Subroutine :ProcessLine auf. Je mehr Zeilen, um so öfter wird sie aufgerufen. Da ich aber nicht weiß, welches Verhalten du von deinem Batchscript erwartest (welche Logik steckt dahinter und was soll dabei heraus kommen), weiß ich nicht wo ich dir helfen kann.
Ein paar Sachen die mir unabhängig davon aufgefallen sind:
  • Wo nutzt du Variable Main?
  • Woher kommt der Wert der Variablen Earth?
  • Warum maskierst du < und > in den Zeilen 12 und 13? Kommen die irgendwo vor?

Grüße
rubberman
Bitte warten ..
Mitglied: rubberman
30.01.2013 um 21:31 Uhr
Schau mal, ob du mit diesem Ansatz bei allen Möglichkeiten die richtigen Ausgaben bekommst.
01.
@echo off &setlocal 
02.
set "quelle=D:\SMS\sms1.txt" 
03.
 
04.
set /p "firstLine="<"%quelle%" 
05.
echo %firstLine% 
06.
 
07.
for /f "tokens=2 delims=+" %%i in ("%firstLine%") do ( 
08.
  for /f "tokens=1-3" %%j in ("%%i") do ( 
09.
    set "nr=%%j" 
10.
    set "datum=%%k" 
11.
    for /f "tokens=1-3 delims=:" %%m in ("%%l") do ( 
12.
      set "hh=%%m" 
13.
      set "mm=%%n" 
14.
      set "ss=%%o" 
15.
16.
17.
18.
echo %nr% 
19.
echo %datum% 
20.
echo %hh% 
21.
echo %mm% 
22.
echo %ss% 
23.
 
24.
for /f "tokens=*" %%i in ('findstr "\<http" "%quelle%"') do set "url=%%i" 
25.
setlocal EnableDelayedExpansion 
26.
echo !url! 
27.
endlocal 
28.
 
29.
pause
Grüße
rubberman
Bitte warten ..
Mitglied: Speider13
03.02.2013 um 12:33 Uhr
Hey,

sorry hat etwas länger gedauert mit dem Antworten, aber so funktioniert es!

Vielen Dank nochmal!
Bitte warten ..
Ähnliche Inhalte
Debian

SMS-Versand über Raspberry PI - UMTS-Stick wird nicht erkannt??

gelöst Frage von thaddaeus93Debian5 Kommentare

Hallo zusammen, ich habe folgende Ausgangssituation: - SMS-Versand soll über einen RaspberryPI und dem angeschlossenen UMTS-Stick erfolgen - Vorhanden ...

Netzwerkmanagement

UMTS-Stick stört lokales Netzwerk

Frage von marcel-aNetzwerkmanagement5 Kommentare

Hallo, ich habe mal wieder eine Frage und hoffe, dass ihr mir helfen könnt. Ich habe mehrere Computer über ...

Windows 8

UMTS-Stick + VPN Problem mit Windows 8.1 Pro

Frage von killtecWindows 812 Kommentare

Hallo, wir haben hie ein Laptop mit Windows 8.1 Pro, einem Vodafone UMTS Stick (Huawei LTE-Stick) und einem Cisco ...

Grafik

Suche Prg für Geotagging Darstellung Bilderordner auf Karten

Frage von Frank44Grafik2 Kommentare

Hallo zusammen, Programme zum editieren der Geo-Taggs von Bildern kenne ich ich suche was zum Visualisieren mehrerer Bilder zum ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 2 TagenWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 2 TagenAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 3 TagenHumor (lol)5 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 3 TagenGoogle 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 ...

Heiß diskutierte Inhalte
Router & Routing
Router auf Orginal Firmware zurück flashen mit Tftpd
Frage von ILeonardRouter & Routing21 Kommentare

Hallo, Ich habe zwei Router, einmal TP-Link 841n v11 und TP-Link 940N v5. Ich wollte fragen, ob jemand mir ...

Router & Routing
WRT keine Verbindung zum Web Interface
gelöst Frage von ILeonardRouter & Routing18 Kommentare

Hallo, Ich habe einen TP-Link WR841n mit wrt geflasht, das Problem ist ich kann mich mit 192.168.1.1 nicht verbinden. ...

Windows Server
Standortvernetzung zu einem Strato VServer (Windows)
Frage von matzefratze81Windows Server10 Kommentare

Moin, ich komme aus einem Enterprise-Umfeld und habe den Fehler gemacht, dass ich mich auf ein kleines Unternehmen eingelassen ...

TK-Netze & Geräte
Telefonie zweier Fritzboxen mit je eigenem DSL Anschluss verbinden
Frage von hannsgmaulwurfTK-Netze & Geräte10 Kommentare

Hallo zusammen, ich habe hier einen Haushalt mit zwei Anschlüssen. Einmal ISDN, einmal DSL. An jedem Anschluss hängt eine ...