Batch-Befehl geht in CMD, spinnt in Batch-Datei?!

Von: , Frage gestellt am Fr, 6. Aug 2010

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

3 Antworten zu dieser Frage

  1. Antwort von nach 9 Stunden 0 hilfreich
    Re: Batch-Befehl geht in CMD, spinnt in Batch-Date

    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

    • Antwort von nach 22 Stunden 0 hilfreich
      Re^2: Batch-Befehl geht in CMD, spinnt in Batch-Da

      Hallo Reinhard,
      Verdammt - der Teufel steckt im Detail, nicht wahr? :D
      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, hauptsache es geht jetzt.
      Mfg,
      Max

      P.S. Folgender Eintrag sollte entussistische... ehtnussasche... begeisterte C++-Programmierer von nicht beleidigen, aber irgendwie hab ich recht :D.

      • Antwort von nach einem Tag 0 hilfreich
        OT^3: Batch-Befehl geht in CMD, spinnt in Batch-Da

        Hallo Reinhard,
        Verdammt - der Teufel steckt im Detail, nicht wahr? :D
        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 :-)

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!