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
GELÖST

Mehrere Werte aus FOR Schleife in eine Variable

Frage Entwicklung Batch & Shell

Mitglied: sugram

sugram (Level 1) - Jetzt verbinden

10.07.2014 um 19:13 Uhr, 1169 Aufrufe, 4 Kommentare

Hallo


Also ich komm einfach nicht weiter.
Folgendes Problem.

Meine aktueller String lautet so:

01.
  
02.
for /f "Tokens=1-15" %%a in ('"type 1.svg | findstr rotate(0.0)"') do (echo %%h %%i")

Das Funktioniert auch.
Nur ist es eben möglich das in der Datei es mehrere Einträge mit dem rotate geben kann. Das ist leider immer unterschiedlich.
Ist es da irgendwie möglich alle gefundenen Werte in eine Variable zu schreiben?



Vielen Dank
Mitglied: rubberman
10.07.2014, aktualisiert 11.07.2014
Hallo sugram.

Also so etwas wie ein Array wird in Batch nicht unterstützt.
- du kannst die gefundenen Werte in eine temporäre Datei schreiben, aus der du sie bei Bedarf wieder ausliest
- du kannst ein "assoziatives Array" erstellen, das aus mehreren Einzelvariablen besteht (zB: %var_0%, %var_1% etc.)
- du kannst weitere Werte an einen Variablenwert anhängen, getrennt durch ein definiertes Zeichen (zB: Wert1;Wert2;Wert3 ...)
- du kannst gleich mit den FOR Variablen %%h und %%i im Klammerausdruck nach dem DO arbeiten
- du kannst für jeden gefundenen Wert eine Subroutine aufrufen, in der du diesen verarbeitest

Die beiden Letzteren solltest du bevorzugen. Aber ohne Kenntnis deines Vorhabens oder deines Codes kann ich dir nicht zu irgend etwas raten.

Grüße
rubberman

EDIT: ersten und letzten Punkt hinzugefügt
Bitte warten ..
Mitglied: sugram
11.07.2014 um 14:11 Uhr
Aber ohne Kenntnis deines Vorhabens oder deines Codes kann ich dir nicht zu irgend
etwas raten.



Hallo

Vielen Dank erstmal.

Ziel des ganzen ist es aus einer Datei Werte zu holen, die Koordinaten enthalten. Die Strings in der Datei selbst sehen so aus:
01.
"<polyline points="5,0 -1,-3 0,0 -1,3" fill="#FF0000" stroke="#FF0000" transform="translate(1271.0 993.0) rotate(0.0)"/>"  
02.
"<polyline points="5,0 -1,-3 0,0 -1,3" fill="#FF0000" stroke="#FF0000" transform="translate(942.9 876.6) rotate(0.0)"/>"
Ich benötige dann die Werte 1271.0 als X und 993.0 als Y. Die ich dann weiterverarbeiten möchte.

Gruß
sugram
Bitte warten ..
Mitglied: rubberman
LÖSUNG 11.07.2014, aktualisiert um 18:25 Uhr
Hallo sugram.

Ich benötige dann die Werte 1271.0 als X und 993.0 als Y. Die ich dann weiterverarbeiten möchte.
Soweit war mir das ziemlich klar. Die Frage war wie verarbeitest du die Werte weiter.

Beispiel:
01.
@echo off &setlocal 
02.
for /f "tokens=2 delims=()" %%i in ('type "1.svg" ^| findstr /c:"rotate(0.0)"') do ( 
03.
  for /f "tokens=1,2" %%j in ("%%i") do ( 
04.
    set "X=%%j" 
05.
    set "Y=%%k" 
06.
    call :procCoordinates 
07.
08.
09.
pause 
10.
goto :eof 
11.
 
12.
:procCoordinates 
13.
echo Arbeite hier mit %X% und %Y% ... 
14.
goto :eof
Grüße
rubberman
Bitte warten ..
Mitglied: sugram
11.07.2014 um 17:25 Uhr
Hallo rubberman

Vielen Dank für deine Antwort.
Dann habe ich dich etwas falsch verstanden

Die Werte sollen dann hier:
01.
<circle  cx="508.1" cy="783.6" r="41.7" stroke-width="7" stroke="#FF0000" fill="none"/>
Als x & y Werte eingetragen werden.

Dein Beispiel funktioniert einwandfrei, vielen Dank!!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Powershell - Werte in Variable durch Schleife erweitern bzw. ändern (5)

Frage von ralfkausk zum Thema Batch & Shell ...

Batch & Shell
Batch: Variable Expansion in einer FOR-Schleife (9)

Frage von .Sessl zum Thema Batch & Shell ...

Batch & Shell
gelöst While Schleife mit mehreren Arrays (2)

Frage von Markus2016 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Linux Netzwerk

Ping und das einstellbare Bytepattern

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
SAN, NAS, DAS
MSA 2050 RAID Konfig (21)

Frage von Leo-le zum Thema SAN, NAS, DAS ...

Netzwerkmanagement
Windows Server 2008 R2: "netsh reset" nicht verfügbar? (10)

Frage von RickTucker zum Thema Netzwerkmanagement ...

Netzwerkmanagement
Suche eine Software für Cloudverwaltung (6)

Frage von tsunami zum Thema Netzwerkmanagement ...

Google Android
Musik Wiedergabe am PC mit Smartphone über Bluetooth steuern (5)

Frage von justlukas zum Thema Google Android ...