Guten Abend zusammen.
Ich brüte mal wieder über einem mir selbst auferlegten „Monsterprojekt“, und scheitere mal wieder an dem, was ich an der Batchprogrammierung am meisten hasse - dem Befehl „for“.
Folgende Anwendung von For wurde unter Einbringung einer Menge wertvollen Gehirnschmalzes produziert:
for /f "tokens=1,2,3\* delims=:," %i IN ("%time%") do @set zeit=%i-%j,%k
Sie soll in die Variable „Zeit“ die aktuelle Uhrzeit im Format SS-MM,SS ausgeben. Die normale Time-Variable könnte das auch, dumm nur - die hat Doppelpunkte. Und da diese Zeit-Variable später in Dateinamen verwendet wird, machen sich da Doppelpunkte nicht so gut.
Ich gebe den Befehl also in die Kommandokonsole ein, toll - geht. Uhrzeit in der Variable. Schreib ichs in eine leere Batch-Datei, ausführen - mist. Folgende Fehlermeldung:
"timei-k" kann syntaktisch an dieser Stelle nicht verarbeitet werden
Hm. Super. Irgendwelche Ideen?
Mfg,
Max
Sie soll in die Variable „Zeit“ die aktuelle Uhrzeit im Format
SS-MM,SS ausgeben. Die normale Time-Variable könnte das auch,
dumm nur - die hat Doppelpunkte. Und da diese Zeit-Variable
später in Dateinamen verwendet wird, machen sich da
Doppelpunkte nicht so gut.
Ich gebe den Befehl also in die Kommandokonsole ein, toll -
geht. Uhrzeit in der Variable. Schreib ichs in eine leere
Batch-Datei, ausführen - mist. Folgende Fehlermeldung:
„timei-k“ kann syntaktisch an dieser Stelle nicht
verarbeitet werden
Hallo Max,
in der Batch nicht %i sondern %%i benutzen.
for /f „tokens=1,2,3* delims=:,“ %%i IN ("%time%") do @set zeit=%%i-%%j,%%k
echo %zeit% > c:\test\z.txt
Gruß
Reinhard
OT^3: Batch-Befehl geht in CMD, spinnt in Batch-Da
Hallo Reinhard,
Verdammt - der Teufel steckt im Detail, nicht wahr? 
Ich danke dir für die schnelle Antwort
Was aber wohl als
ungeklärt ad acta gelegt wird - warum geht der dumme Befehl
dann in der Konsole?
Ist ja schlimmer als bei C++
. Obwohl. Ne, doch nicht.
Diese Sprache ist von Dämonen besessen.
Naja, es ist imemr dann ein problem mit zeichen, wenn das zeichen schon eine bedeutung hat, und deswegen eben falsch gedeutet wird. Ohne diese probleme, gäbe es viele andere probleme 