Kommentare: Ablauf Schleifen und Sprungmarken batch datei: loop goto
Fragen / Kommentare zu Ablauf Schleifen und Sprungmarken batch datei: loop goto
(neueste zuerst)Hallo, ich möchte eine Batch Datei erstellen, mit der ich 6000 Dateien erstellen kann. Wie genau wird das gemacht? Herzlichen Dank vorab.
User: Delphis1982 Hier mal eine Batch, die beim Starten von Windows VOR der Anmeldung solange wartet, bis ERSTENS: die Netzwerkfreigabe erreichbar ist und ZWEITENS: bis das iSCSI-Laufwerk D: eingebunden ist (da darin der Desktop liegt). Erst wenn BEIDE Bedingungen erfüllt sind, erfolgt die Anmeldung. In der Batch müssen also eigentlich nur ZWEI Bedingungen erfüllt werden, aber in der Batch sind DREI "if"-Abfragen. Je nachdem, welche Bedingung in LOOP1 zuerst erfüllt wird, wird der Zähler "t3" um 1 reduziert, springt springt dann zu LOOP2 oder LOOP3 und wartet dann, bis auch die jeweils andere Bedingung erfüllt wurde, dann wird der Zähler "t3" nochmal um 1 reduziert. In allen LOOP-Abschnitten wird immer wieder der Zähler abgefragt. Sobald dieser 0 erreicht hat, heißt es dann einfach EXIT und der Desktop wird geladen. :START @echo off set /a t1=20 set /a t2=20 set /a t3=2 :LOOP1 cls echo Noch %t1% Versuche... if exist \\SERVER-PC\ShareFolder goto LOOP2 if exist D:\NUL goto LOOP3 if %t1%==0 goto EXIT timeout /t 2 set /a t1=t1-1 goto LOOP1 :LOOP2 cls echo Noch %t2% Versuche... if exist D:\NUL goto EXIT if %t2%==0 goto EXIT timeout /t 2 set /a t2=t2-1 goto LOOP2 :LOOP3 cls echo Noch %t3% Versuche... if exist \\SERVER\ShareFolder goto EXIT if %t3%==0 goto EXIT timeout /t 2 set /a t3=t3-1 goto LOOP3 :EXIT set t1= set t2= set t3= exit
User: Anonym ich möchte überprüfen, ob in den letzten 24 eine neue "XY.zip" Datei im Ordner X abgelegt wurde, wenn ja entpacke nach XY im selben Ordner. ( Im Ordner X liegen bereits weitere .zip-Dateien, die bereits entpackt wurden. Ist exist der richtige Ansatz hierfür? wie muss der Befehl aussehen? ich komme nicht mehr weiter. Danke für jede Hilfe :)
User: Lexor Warum für das Warten nicht @timeout nutzen?
gute Frage. Der Grund ist, dass timeout nicht immer Teil des OS war und du hast Recht mit Windows 10 ist timeout schöner.
Beitrag erstellt von Bernhard
User: AAxx19 Besteht die Möglichkeit mit einem Scriptbefehl den Download auf max. 5 zu begrenzen? :download ping /n 9 localhost >nul echo/ if %myprogrammist2% EQU 998 goto nomyprogramm echo **************************************** echo * * if %myprogrammist2% GTR 999 ( echo * myprogramm Update from %myprogrammist2% * ) else ( echo * myprogramm Update from %myprogrammist2% * ) set /a cat=%myprogrammist2% :loopb set /a cat=%cat%+1 wget --spider -o download http://myhomepage/update/myprogramm/%versiondir%/ETW2%cat%%version%.exe findstr /m "Length:" download if %errorlevel%==1 ( echo * myprogramm complete * echo * * echo **************************************** goto ETW3 ) else ( if exist %drv%\SYLT\ETW2\Update\ETW2%cat%%version%.exe ( goto loopb ) else ( wget.exe -q -c http://myhomepage/update/myprogramm/%versiondir%/ETW2%cat%%version%.exe -P %drv%\SYLT\ETW2\Update ) ) if %cat% lss 1100 goto loopb
User: Bashi Hi! Ich versuche eine .bat zu schreiben die solange versucht sich mit einem bestimmten Wlan Profil zu verbinden, bis die Verbindung hergestellt wurde, wie würde die if bedingung da aussehen?
User: Daniel if exist %datei.txt goto existiert Was sagt das Prozentzeichen aus ?
User: m Anstatt :ENDE am schluss zu schreiben und dorthin zu springen, kann mann auch 'exit' oder 'goto :eof' (Bedeuted warscheinlich 'end of file') schreiben um das program zu beenden.
User: paxi und fixi Ping -n 11 localhost braucht man doch für ne 10 sekunden pause muss ja immer ne sekunde dazugezählt werden oda nich ???