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

For f spuckt wirres Zeug aus

Frage Entwicklung Batch & Shell

Mitglied: Daffman

Daffman (Level 1) - Jetzt verbinden

17.06.2010 um 11:25 Uhr, 3187 Aufrufe, 2 Kommentare

Ich versuche aus einer Datei gewisse Zeichenketten in eine Variable umzuformen, aber, die variablen, die ich bekomme sind unbrauchbar.

hallo mit einandern!!

ich habe mich schon einmal an die community gewendet und zwar wegen dem befehl for /f!

also meine ausgangsdatei ist:
01.
---------- 22  
02.
Name</key><string>Super Trooper</string>  
03.
Artist</key><string>ABBA</string>  
04.
Album</key><string>Gold Greatest Hits</string>  
05.
Genre</key><string>Pop</string>  
06.
Play Count</key><integer>8</integer>  
07.
Rating</key><integer>60</integer> 
so meine von mir geschrieben batch ist:

01.
for /F "tokens=1,2,3 skip=1 delims=/" %%a in ('findstr /n . "4.tmp"') do ( 
02.
set "z=%%a" 
03.
set "b%%a=%%b" 
04.
set "c%%a=%%c" 
05.
set "d%%a=%%d" 
06.
)
bis dahin sehe ich noch keinen fehler, aber die ausgabe ist einfach nur noch wischiwaschi

01.
D:\z>for /F "tokens=1,2,3 skip=1 delims=/" %a in ('findstr /n . "4.tmp"') do ( 
02.
set 'z=%a' 
03.
 set b%a=%b 
04.
 set c%a=%c 
05.
 set d%a=%d 
06.
07.
 
08.
D:\z>( 
09.
set 'z=2:Name<' 
10.
 set b2:Name<=key><string>Super Trooper< 
11.
 set c2:Name<=string> 
12.
 set d2:Name<=%d 
13.
14.
 
15.
D:\z>( 
16.
set 'z=3:Artist<' 
17.
 set b3:Artist<=key><string>ABBA< 
18.
 set c3:Artist<=string> 
19.
 set d3:Artist<=%d 
20.
21.
 
22.
D:\z>( 
23.
set 'z=4:Album<' 
24.
 set b4:Album<=key><string>Gold Greatest Hits< 
25.
 set c4:Album<=string> 
26.
 set d4:Album<=%d 
27.
28.
 
29.
D:\z>( 
30.
set 'z=5:Genre<' 
31.
 set b5:Genre<=key><string>Pop< 
32.
 set c5:Genre<=string> 
33.
 set d5:Genre<=%d 
34.
35.
 
36.
D:\z>( 
37.
set 'z=6:Play Count<' 
38.
 set b6:Play Count<=key><integer>8< 
39.
 set c6:Play Count<=integer> 
40.
 set d6:Play Count<=%d 
41.
42.
 
43.
D:\z>( 
44.
set 'z=7:Rating<' 
45.
 set b7:Rating<=key><integer>60< 
46.
 set c7:Rating<=integer> 
47.
 set d7:Rating<=%d 
48.
)
ich hätte gerne dass z nur die zeilennummer ist; und der rest sich immer schön bei / teilt!

kann mir jemand helfen und mich eventuell aufklären, worin der fehler liegt?? -.-

MFG alexander
Mitglied: bastla
17.06.2010 um 12:33 Uhr
Hallo Daffman!

Irgendwie ist es für mich schwer vorstellbar, dass Du als Ergebnis
Name< 
key><string>Super Trooper< 
string>
haben möchtest ...

... aber falls doch, einfach noch den ":" als zusätzlichen Delimiter verwenden, also:
for /F "skip=1 tokens=1-4 delims=/:" %%a in ('findstr /n . "4.tmp"') do (
Grüße
bastla

P.S.: Mir wäre eher
for /f "skip=1 tokens=1,2,5 delims=:<>" %%a in ('findstr /n . "4.tmp"') do (
dazu eingefallen ...
Bitte warten ..
Mitglied: Daffman
17.06.2010 um 13:51 Uhr
hello

danke für deine rasche hilfe!! und dein zweiter vorschlag ist ideal, den habe ich eigentlich auch vorgehabt, nur nicht so vereinfacht wie du das jetzt dargestellt hast :-x

also vielen dank und erfüllt genau meine wünsche!!

mfg alex
Bitte warten ..
Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (36)

Frage von Datsspeed zum Thema Exchange Server ...

Verschlüsselung & Zertifikate
Mit Veracrypt eine zweite interne (non-system) Festplatte verschlüsseln (10)

Frage von Bernulf zum Thema Verschlüsselung & Zertifikate ...

Internet Domänen
Nameserver ein Geist? (6)

Frage von zelamedia zum Thema Internet Domänen ...

Microsoft Office
Übertrag in eine andere Tabelle (6)

Frage von charmeur zum Thema Microsoft Office ...