Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Variable zwischenspeichern?

Frage Entwicklung Batch & Shell

Mitglied: ruebensau

ruebensau (Level 1) - Jetzt verbinden

05.08.2008, aktualisiert 20.08.2008, 4068 Aufrufe, 3 Kommentare

Hallo Jungs,

sehe gerade bestimmt den Wald vor lauter Bäumen nicht.

habe diesen Input:

A600,test1,name1
$$$$,test2,name2
$$$$,test3,name3
$$$$,test4,name4
$$$$,test5,name5
$$$$,test6,name6
$$$$,test7,name7
A700,test8,name8
$$$$,test9,name9
$$$$,test10,name10
$$$$,test11,name11
A800,test12,name12
$$$$,test13,name13
....
output soll so aussehen:

A600,test1,name1
A600test2,name2
A600test3,name3
A600test4,name4
A600test5,name5
A600test6,name6
A600test7,name7
A700,test8,name8
A700test9,name9
A700test10,name10
A700test11,name11
A800,test12,name12
A800test13,name13

ich habs mit der for /f schleife probiert

for /f "tokens=1-3 delims=," %%a in (b.log) do (
if not "%%a"=="$$$$" set "k=%%a"
echo %k%,%%b,%%c >> d.log
)

erstes feld wird genommen und in variable gespeichert
solange erstes feld = $$$$ ersetze es durch den wert in der variable
wenn erstes feld nicht $$$$ dann ersetze die variable durch den neuen wert
usw.
bekomme es aber irgendwie nicht hin

danke schonmal

MfG
Rübe
Mitglied: Biber
05.08.2008 um 18:01 Uhr
Moin Rübe,

da das Setzen und das Abfragen der Variablen %k% innerhalb einer CMD-Anweisung passiert, musst Du mit "DelayedExpansion" (=Auflösen einer Variablen erst beim Anfassen) arbeiten.
01.
@echo off & setlocal EnableDelayedExpansion 
02.
for /f "tokens=1-3 delims=," %%a in (b.log) do ( 
03.
   if "%%a"=="$$$$" set "k=%%a"   
04.
  echo !k!,%%b,%%c >>d.log 
05.
)
[ungetestet]

Grüße
Biber
Bitte warten ..
Mitglied: ruebensau
20.08.2008 um 10:05 Uhr
endlich wieder im Büro und danke Biber. Funktioniert wie alles von dir!

Eine syntaktische Frage hätte ich noch:
Wieso muss k in Ausrufezeichen stehen !k! und kann nicht wie ich es sonst kenne in Prozentzeichen stehen %k%?
Liegt es an dem EnableDelayedExpansion?

Gruß
Rübe
Bitte warten ..
Mitglied: Biber
20.08.2008 um 19:51 Uhr
Moin Rübe,

die etwas andere Schreibweise hat in der Tat mit der verzögerten Variablenauflösung zu tun.
Du findest Beispiele natürlich hier im Forum, aber eine brauchbare Hilfe auch am Cmd-Prompt bei Eingabe von SET /? so im unteren Hilfetextdrittel.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Windows Tools
Zwischenspeicher TS RDP-Verbindung (3)

Frage von Yannosch zum Thema Windows Tools ...

Batch & Shell
gelöst Mit zusammengesetzter Variable auf andere Variable zugreifen (2)

Frage von abiber zum Thema Batch & Shell ...

TK-Netze & Geräte
gelöst Durchsage für ELA zwischenspeichern - Asterisk? (3)

Frage von BirdyB zum Thema TK-Netze & Geräte ...

Batch & Shell
gelöst Variable in Regedit (3)

Frage von MeinSenfDazu zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(1)

Information von DerWoWusste zum Thema Microsoft ...

Humor (lol)

Wohnt jemand in Belgien und kann nicht mehr ruhig ausschlafen?

(6)

Information von LordGurke zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Hosting & Housing
Mailserver Software Empfehlungen (21)

Frage von sunics zum Thema Hosting & Housing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (16)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (15)

Frage von Lynkon zum Thema TK-Netze & Geräte ...