tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
677
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Atlas553 Tutorials.de Gastzugang
    Hallo zusammen.


    Ich versuche gerade einen Batch zu schreiben, der mir die Zeit misst, die ein Programm benötigt um einen Import fertig zu stellen. Dabei bin ich auf das Phänomen gestoßen, dass innerhalb der for Schleife die Zeit, die ich mir ausgeben lasse immer gleich ist. Die Start und Endzeit allerdings zeigen die korrekte Uhrzeit an.

    Hier unten mal eine vereinfachte Version meines Batches, an dem Deutlich wird was mein Problem ist und vielleicht könnt ihr mir auch schon sagen wo ich den Fehler gemacht habe

    Wäre super wenn jem. von euch eine Idee hätte steh im Moment ziemlich auf dem Schlauch, Google und co. konnte mich leider nicht weiter bringen.

    @echo off

    echo Startzeit .: %date:~0% - %time:~0,8% Uhr
    ping localhost -n 2 >NUL
    set /a test=1
    for /L %%i in (1,1,5) do (
    echo Zeit .: %date:~0% - %time:~0,8% Uhr
    set /a test=test+1
    ping localhost -n 2 >NUL
    echo %%i
    )
    echo Endzeit .: %date:~0% - %time:~0,8% Uhr


    Ich danke euch schon mal für die Antworten

    Gruß Atlas
     

  2. #2
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.169
    Hi.

    Das liegt daran, das Variablen in Batch nur ein einziges Mal expandiert werden. D.h. der Batchprozessor liest deine Schleife, expandiert %date% und %time% und führt dann erst die Schleife aus.

    Du müßtest die verzögerte Variablen-Expansion verwenden. Siehe auch "help setlocal".
    Code :
    1
    2
    3
    4
    5
    6
    
    setlocal EnableDelayedExpansion
     
    for /L ... do (
      echo !date:~0!
      ..
    )
    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  3. #3
    jonny1a Tutorials.de Gastzugang
    Moin,
    sehr interessant, wieder was dazugelernt und auch von mir ein Danke dafür
    Gruß Jonny
     

  4. #4
    Atlas553 Tutorials.de Gastzugang
    Vielen dank ! Funktioniert :-P
     

Ähnliche Themen

  1. Batch + Schleife
    Von Herli im Forum Sonstige Sprachen
    Antworten: 2
    Letzter Beitrag: 04.09.08, 16:01
  2. Batch, For-Schleife initialsieren
    Von rkrause im Forum Sonstige Sprachen
    Antworten: 1
    Letzter Beitrag: 02.02.08, 13:07
  3. Batch-Code zu bestimmten Zeit ausführen
    Von michax im Forum Sonstige Sprachen
    Antworten: 4
    Letzter Beitrag: 22.05.07, 09:46
  4. [Batch] For-Schleife - Wie gehts?
    Von Azi im Forum Sonstige Sprachen
    Antworten: 2
    Letzter Beitrag: 23.09.05, 22:04
  5. Zeit in Batch-Dateien
    Von Slazer im Forum Microsoft Windows
    Antworten: 0
    Letzter Beitrag: 30.07.03, 12:40