Mief: Batch Schleife

Hallo Leute,
ich programmiere eine Batch-Datei in der in einem abstand von 700 Millisekunden nacheinander die Zahlen 5; 10; 15; 20; ... 100 erscheinen sollen.Das mit dem Zeitabstand habe ich mit der wait.exe geklärt. Jetzt bracuh ich nur noch die Schleife dazu.
Danke schonmal im voraus.

  1. Jetzt bracuh ich nur noch die Schleife dazu.

    Und wassagst du zu while []?

    Danke schonmal im voraus.

    Kein Problem, wobei ich davon ausgehe, eine Suche in einer Suchmaschine wäre schneller gegangen als dein Post.

    1. Hello,

      Jetzt bracuh ich nur noch die Schleife dazu.

      Und was sagst du zu while []?

      Gibt es das auch für Batchdateien? "Batch" heißt für mich WinDOS-Umgebung.

      Ich dachte immer, man müsse 'goto' und eine :Marke verwenden.

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
       ☻_
      /▌
      / \ Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
      1. Gibt es das auch für Batchdateien? "Batch" heißt für mich WinDOS-Umgebung.

        Keine Ahnung, selbst unter Windows  hab ich Cygwin benutzt um zu scripten. Wenn Batch nichtmal while kann, ist es für mich noch überflüssiger als bisher. Ich weiss schon wieso ich Win nur noch für Spiele nutze ;)

        Ich dachte immer, man müsse 'goto' und eine :Marke verwenden.

        Igitt, das war ja zu Basic-Zeiten schon pfui. Aber das ist man ja von M$ gewohnt :D

        1. Ich dachte immer, man müsse 'goto' und eine :Marke verwenden.

          Igitt, das war ja zu Basic-Zeiten schon pfui. Aber das ist man ja von M$ gewohnt :D

          GOTO pfui in BASIC? LOL... hast wohl nie was Vernünftiges in BASIC programmiert, schätze ich mal stark?

          1. Hallo,

            Ich dachte immer, man müsse 'goto' und eine :Marke verwenden.
            Igitt, das war ja zu Basic-Zeiten schon pfui. Aber das ist man ja von M$ gewohnt :D
            GOTO pfui in BASIC? LOL... hast wohl nie was Vernünftiges in BASIC programmiert, schätze ich mal stark?

            es gab und gibt auch fortschrittliche BASIC-Dialekte, die einige saubere Kontrollstrukturen haben, und bei denen kommt man tatsächlich ganz gut ohne GOTO aus.

            Ciao,
             Martin

            --
            Die letzten Worte des Hardware-Bastlers:
            Das Netzkabel lass ich wegen der Erdung lieber dran.
            Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
            1. hi,

              es gab und gibt auch fortschrittliche BASIC-Dialekte, die einige saubere Kontrollstrukturen haben, und bei denen kommt man tatsächlich ganz gut ohne GOTO aus.

              richtig, die gibt und gab es natürlich. Simon's Basic zum Beispiel war ganz nett.

              1. Hallo,

                es gab und gibt auch fortschrittliche BASIC-Dialekte, die einige saubere Kontrollstrukturen haben, und bei denen kommt man tatsächlich ganz gut ohne GOTO aus.
                richtig, die gibt und gab es natürlich. Simon's Basic zum Beispiel war ganz nett.

                ja, zum Beispiel - obwohl ich mich nicht erinnern kann, was das im Bereich der Strukturierung zu bieten hatte. Mir fallen auf Anhieb bloß die sehr zahlreichen und leistungsfähigen Grafikroutinen ein.

                Ich dachte da eher an Borlands Turbo Basic, mit dem ich in den frühen 90er Jahren sehr intensive Bekanntschaft gemacht habe.

                Ciao,
                 Martin

                --
                Die letzten Worte des Hardware-Bastlers:
                Das Netzkabel lass ich wegen der Erdung lieber dran.
                Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
          2. GOTO pfui in BASIC? LOL... hast wohl nie was Vernünftiges in BASIC programmiert, schätze ich mal stark?

            Ich habe GOSUB bevorzugt, da ich dabei immer einen definierten Rückgabewert erhalten habe.

            Und so nebenbei, nur weil etwas Pfui ist, heisst es nicht, dass ich es nicht nutze, sondern nur, dass ich es vermeide, wenn möglich.

            Da ich aber sehr schnell auf meinem Amstrad CPC dazu übergegangen bin, in Assembler zu programmieren, hat sich das eh bald erledigt gehabt.

            1. Da ich aber sehr schnell auf meinem Amstrad CPC dazu übergegangen bin, in Assembler zu programmieren, hat sich das eh bald erledigt gehabt.

              Hach, *Bewunder*, Multi, der Held der Register! So einer hält sich doch nicht freiwillig in den basischen Niederungen auf!

      2. Hallo,

        Gibt es das auch für Batchdateien? "Batch" heißt für mich WinDOS-Umgebung.
        Ich dachte immer, man müsse 'goto' und eine :Marke verwenden.

        nö, der typische Weg ist, wie der OP herausgefunden hat, FOR zu nutzen.

        Freundliche Grüße

        Vinzenz

      3. Hallo,

        Und was sagst du zu while []?
        Gibt es das auch für Batchdateien? "Batch" heißt für mich WinDOS-Umgebung.

        würde ich nicht so eng sehen - der Begriff "Batchdatei" wird auch für Windows Powershell, manchmal sogar bash und Co verwendet.

        Ich dachte immer, man müsse 'goto' und eine :Marke verwenden.

        Nein. Eine for-Anweisung ist eleganter. Gab's sogar schon in purem DOS.

        Ciao,
         Martin

        --
        Der Dienstweg ist die Abkürzung vom Holzweg zur Sackgasse.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    2. Und wassagst du zu while []?

      Ich habe es mitlerweile mit einer for-Schleife gemacht. Aber ich habe das Problem, dass man nur eine Code-Zeile damit ausgeben kann. Ich müsste aber vier Code-Zeilen ausgeben können. Geht das vielleicht mit einer while-Schleife oder gibt es dafür eine andere Lösung?
      Code:

      cls
      echo Daten werden geladen. Bitte warten...
      echo <Zahl>
      wait.exe 700

      Danke.

  2. Hallo,

    ich programmiere eine Batch-Datei in der in einem abstand von 700 Millisekunden nacheinander die Zahlen 5; 10; 15; 20; ... 100 erscheinen sollen.Das mit dem Zeitabstand habe ich mit der wait.exe geklärt.

    wozu? Überflüssig! TIMEOUT ist besser.

    Jetzt bracuh ich nur noch die Schleife dazu.

    Du könntest FOR verwenden:

    @ECHO OFF
    REM FOR /l für Zählschleifen (siehe verlinkte Doku)
    REM zuerst ECHO, dann TIMEOUT ausführen mit &
    REM Ausgabe von TIMEOUT in den Müllschlucker umleiten
    FOR /l %%I IN (5,5,100) DO ECHO %%I & TIMEOUT /t 5 > NUL

    Grundsätzlich rate ich Dir allerdings dazu, lieber die Powershell zu verwenden.

    Freundliche Grüße

    Vinzenz