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 Zeichen in Schleifenvariablen löschen

Mitglied: xasher

xasher (Level 1) - Jetzt verbinden

25.03.2010, aktualisiert 18:26 Uhr, 4546 Aufrufe, 7 Kommentare

Hallo zusammen,

ich will aus einer csv-Datei mit Geodaten eine kml-Datei für Google-Earth basteln.
Dazu müssen die Koordinaten leicht umformatiert werden. Das heißt das letzte Zeichen entfernt werden wo "N" bzw "E" drinsteht

bsp:
48.123456N
09.123468E

Das letzte Zeichen muss jeweils weg, aber das funktioniert bei den Schleifenvariablen auch über Umwege nicht
wie hier im Script dargestellt

@echo on
FOR /F "skip=1 eol=; tokens=5,6,7 delims=, " %%i in (as_neu.csv) do @(

set LATITUDE=%%i
set var1=%LATITUDE:~0,9%

echo %var1%
echo %%i
echo %%k
)

Problem ist, das er immer dieselbe var1 ausgibt, bei allen Zeilen, und die Var %%i kann ich nicht so richtig bearbeiten, da funktioniert das mit dem abschneiden des letzten Zeichens nicht.

Habt ihr einen Tipp, wie man das Problem umgehen kann?

gruß und danke
xasher
Mitglied: bastla
25.03.2010 um 18:20 Uhr
Hallo xasher und willkommen im Forum!

Einmal mehr das Stichwort "delayedExpansion" ...

Versuch es daher so:
01.
@echo on & setlocal enabledelayedexpansion
02.
FOR /F "skip=1 eol=; tokens=5,6,7 delims=, " %%i in (as_neu.csv) do @(
03.
    set LATITUDE=%%i
04.
    set var1=!LATITUDE:~0,-1!
05.

06.
    echo !var1!
07.
    echo %%i
08.
    echo %%k
09.
)
Anmerkung zu "!LATITUDE:~0,-1!": Da die Anforderung "Abschneiden des letzten Zeichens" lautete, wird der Teilstring entsprechend (bis zum Zeichen bei "Länge-1") ermittelt.

Grüße
bastla
Bitte warten ..
Mitglied: Biber
25.03.2010 um 18:23 Uhr
Moin xasher,

willkommen im Forum.
Zwei Tipps.
  • Benutze Codetags.
  • Benutze "DelayedExpansion" bzw den Befehl "Setlocal EnableDelayedExpansion"

Beispiel für beides:
01.
@echo off & Setlocal EnableDelayedExpansion
02.
REM zum Testen ggf @echo on
03.
FOR /F "skip=1 eol=; tokens=5,6,7 delims=, " %%i in (as_neu.csv) do @(
04.

05.
set LATITUDE=%%i
06.
set var1=!LATITUDE:~0,9%!
07.

08.
echo %var1%
09.
echo %%i
10.
echo %%k
11.
)
Die "verzögert aufgelöste" Variable %var% muss als solche als !var! statt %var% angesprochen werden.

Grüße
Biber

[edit] @bastla: Okay, okay.... weit abgeschlagen...[/edit]
Bitte warten ..
Mitglied: xasher
25.03.2010 um 19:15 Uhr
Hallo ihr beiden,

vielen Dank für eure schnelle Antworten.
Ich hab hier glaub noch ein Windows7 spezifisches Problem mit dem Syntax: set var1=!LATITUDE:~0,-1!

Genauer gesagt mit dem -1. Das funktioniert bei mir unter Windows XP auf dem Laptop wirklich perfekt, in win7 wirds aber komplett ignoriert. Die Ausgabe sieht dann so aus:


48.123456N
48.123456N
300 (Höhe)

Das Script scheint hier völlig wirkungslos zu sein, daher habe ich auch 0,9 angegeben, was nicht gut ist, da die Länge hier bestimmt varieren kann.
Gibt es dafür eine Abhilfe?

Gruß und vielen Dank
xasher
Bitte warten ..
Mitglied: Biber
25.03.2010 um 19:33 Uhr
Moin xasher,

so ungern ich die RedmonderInnen in Schutz nehme... ich kann nicht glauben, dass die soo geschlampt haben.

Bitte überprüfe noch mal, ob du in dem Skript auf dem Win7-Rechner nicht vielleicht ein trailing blank hinter dem %%i in der Zeile
set LATITUDE=%%i 
...hast und gewöhne dir besser diese Schreibweise an.
set "LATITUDE=%%i"
Grüße
Biber
Bitte warten ..
Mitglied: bastla
25.03.2010 um 19:33 Uhr
Hallo xasher!
... in win7 wirds aber komplett ignoriert
kann ich nicht nachvollziehen.

Verwende zur Sicherheit folgende Schreibweise:
01.
set "LATITUDE=%%i"
02.
set "var1=!LATITUDE:~0,-1!"
Beim Kopieren eines Quelltexts aus dem Forum wird gerne am Zeilenende ein Leerzeichen angefügt - mit der angeführten Schreibweise wäre das dann egal ...

Grüße
bastla

[Edit] @Biber: Mit der Nummer könnten wir schön langsam auftreten ... [/Edit]
Bitte warten ..
Mitglied: xasher
25.03.2010 um 19:41 Uhr
ähm ja!!!

Scheint wohl so gewesen zu sein

mir kams gerade schon spanisch vor als es mit -2 ging. Auf das Leerzeichen wäre ich aber wahrscheinlich nicht so schnell gekommen - hatte gerade schon den Fehler in der csv gesucht.

Danke euch für eure Bemühungen.
Gruß
xasher
Bitte warten ..
Mitglied: bastla
25.03.2010 um 20:00 Uhr
Hallo xasher!

War zwar keine Mühe - aber zur Ehrenrettung von "Redmond's Best" hätten wir die natürlich auch in Kauf genommen ...

Grüße
bastla
Bitte warten ..
Neue Wissensbeiträge
Internet
EU-Urheberrechtsreform: Zusammenfassung
Information von Frank vor 1 TagInternet

Auf golem.de gibt es eine Analyse von Friedhelm Greis, der das Thema EU-Urheberrechtsreform gut und strukturiert zusammenfasst. Zwar haben ...

Microsoft Office

Office365 Schwachstellen bei Sicherheit und Datenschutz

Information von Penny.Cilin vor 2 TagenMicrosoft Office7 Kommentare

Auf Heise+ gibt es einen Artikel bzgl. Office365 Schwachstellen. Das ist noch ein Grund mehr seine Daten nicht in ...

Sicherheit
Schwachstellen in VPN Clients
Tipp von transocean vor 4 TagenSicherheit2 Kommentare

Moin, es gibt Sicherheitslücken bei VPN Clients namhafter Hersteller, wie man hier lesen kann. Gruß Uwe

Sicherheit

Wikileaks-Gründer Julian Assange wurde festgenommen

Information von Frank vor 7 TagenSicherheit3 Kommentare

Wikileaks-Gründer Julian Assange wurde heute in London festgenommen. Die Botschaft Ecuadors, in der er seit sieben Jahren lebte, hat ...

Heiß diskutierte Inhalte
Tipps & Tricks
Verdammt voll erwischt
Frage von AlchimedesTipps & Tricks23 Kommentare

Folgende Mail habe ich auf meinem Freenet Account erhalten: Nun folgendes Problem: 1) Ich besuche Porno Seiten yep hat ...

Drucker und Scanner
Xerox 7328 muss jeden Tag neu installert werden
Frage von PN-SchrauberDrucker und Scanner20 Kommentare

hallo, ich habe in Problem mit einem unserer Drucker. Vorweg, die meisten unserer Netzwerkdrucker laufen über einen Druckserver, dieser ...

HTML
Google maps
Frage von jensgebkenHTML20 Kommentare

Hallo Gemeinschaft, hab mal ne Frage zu Maps - habe es hinbekommen, dass ich einen iframe link erstellen kann ...

Switche und Hubs
PC Verursach Probleme im Netzwerk
gelöst Frage von spoboeSwitche und Hubs16 Kommentare

Hallo zusammen, folgene Situation macht mich inzwischen ratlos: In unserem Betrieb ist ein Rechner über die Hausverkabelung an einem ...