![]() |
Batch
Hallihallo,
bitte um eure Hilfe. Ich will in einem Batch-Programm zwei Meldungen ausgeben. Zwischen den beiden Meldungen will ich eine kurze Pause (ealisieren, wie mache ich das am besten? (vielleicht indem ich eine Variable definiere und diese bis z.B. 10 hochzähle?¿). Please help! mfg dietz |
Noch eine Frage hätte ich: kann ich unter Win NT in einem Batch eine IF-THEN-ELSE Schleife oder DO-WHILE Schleifen einsetzen? Falls nicht gibts dazu eine Alternative? Oder ist das überhaupt sinnvoll in einer .bat Datei?
|
a) Am besten du verwendest ein kleines Tool wie z.B. sleep.exe (findest im Web mit Google o. so), das verbraucht im Gegensatz zu einer Schleife kaum Prozessorzeit.
b) IF-THEN-ELSE gibts unter NT u. Win2000: progxy.exe IF %ERRORLEVEL%==0 THEN ( echo ok ) ELSE ( echo nicht ok ) c) es gibt kein DO-WHILE aber ein FOR-Command mit einer Unmenge von Parametern u. Möglichkeiten. Die musst du dir aber selbst in der WinNT-Hilfe ansehen, das ist zu viel um es hier aufzuführen. Alternativ kannst du ein Label definieren u. mit GOTO anspringen: :schleife echo ich starte progxy progxy.exe IF %ERRORLEVEL%==0 THEN GOTO :ende GOTO :schleife :ende |
Danke für deine Hilfe, da ist jetzt noch eine Frage offen.
Kann ich eine Variable definieren, in der ich dann Ergebnisse speichern kann? z.B. :Start SET var = 0 :Zwischenergebnis ECHO blabla SET var = var+1 If var EQU 10 Then goto Ende else GOTO Zwischenergebnis :Ende Also ich setzte eine Variable var ein und übergebe ihr mal den Wert 0, dann gebe ich eine Meldung aus, danach erhöhe ich die Variable um 1 und springe wieder zur Meldung, dann erhöhe ich die Variable wieder um 1.....bis die Variable den Wert 10 hat, dann soll das ganze beendet werden. Kann ich daß in einer .bat Datei realisieren? |
Hi
diese Environmentvariablen sind keine numerischen sondern reine Textvariablen, du kannst mit ihnen also nicht rechnen! Für ein paar Durchläufe gings aber auch so: @echo off SET VARX=1 :schleife echo %VARX% IF %VARX%==1111111111 GOTO :ende SET VARX=%VARX%1 GOTO :schleife :ende PS: in meinen Codebeispielen von oben ist übrigens ein Fehler, es muss überall das THEN raus. Es muss also z.B. heissen: IF %VAR%==0 GOTO :ende |
Alle Zeitangaben in WEZ +2. Es ist jetzt 01:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag