Frage zu Batch-Programmierung (Datum und Zeit)



  • Hallo zusammen,

    ich brauche mal eure Hilfe.
    Ich möchte in einer .bat Datei mit dem aktuellen Datum und Uhrzeit hantieren. Dazu habe ich dieses hier geschrieben:

    echo off
    ::Einlesen der Variablen
    date /t>date.txt
    for /f "eol= tokens=2" %%I in (date.txt) do set date=%%I
    time /t>time.txt
    for /f "eol= tokens=1" %%I in (time.txt) do set time=%%I
    
    ::Löschen der temporären Dateien
    del time.txt
    del date.txt
    
    echo %time%
    echo %date%
    
    pause
    

    unter NT läuft das auch einwandfrei, aber auf meinem Win98 oder WINME-Rechner läuft das so nicht. Was muß ich da ändern ?



  • 1. Soweit ich mich errinern kann sollte man Kommentare - auch wenn anders funktioniert - mit einem REM einleiten.
    2. date/time hat (zumindest unter Win98) keinen /t Parameter (ich habe auch in der hilfe keinen gefunden)
    3. Die for-Schleife sieht für mich auch etwas ungewöhnlich aus. zumindest der /f-Parameter, der String dahinter und die Variablennamen die wie Befehle aussehen (date/time).
    4. Schreib einfach was der Code machen sollte, vielleicht kann dir dann jemand weiterhelfen.
    5. Wieso programmierst Du mit Batch? Benutze besser WSH.



  • danke für die ANtwort,

    ich habe noch eine andere Idee, wenn diese nicht klappt melde ich mich wieder.



  • bIce schrieb:

    1. Soweit ich mich errinern kann sollte man Kommentare - auch wenn anders funktioniert - mit einem REM einleiten.

    Ich hab mich in den letzten paar Tagen mit Batch beschäftigt um sich an die alte Zeiten (als es noch kein WSH gab) zu errinern. REM ist doch nicht gut, denn da werden größer- und kleiner-Symbole als Pipes interpretiert.



  • @echo off
    :-) warum elegant, wenns auch brutal geht?
    echo set date=%%2 > Aktuelles.bat
    echo. | date > tmp.bat
    call tmp.bat
    del tmp.bat
    del Aktuelles.bat
    echo Heute ist der %date%
    

Anmelden zum Antworten