Veröffentlicht 4. August 200916 j Moin moin, ich hab da ein kleines Problem mit meiner Batchdatei. Wenn ich sie ausführe beendet sich die cmd, wenn es an der IF-Abfrage angelangt. Inwiefern die for-schleife richtig ist weiss ich auch nicht, da ich bis jetzt noch nicht so weit gekommen bin. Die Idee hinter dem Programm ist, dass msi-Dateien aus dem Netzwerk gestartet werden und immer nur eine MSI-Datei gleichzeitig läuft. Würde mich freuen, wenn jemand eine tolle Idee hat, wie ich das nun auch zum Laufen bewegen kann :confused: REM Ordner und die Variable waiting werden gesetzt set ordner= \\ds0305\testmachine\ set waiting = 0 REM ---------- REM waiting wird 0 gesetzt und i um 1 erhöht oder auch nicht, je nachdem welchen Wert waiting besitzt goto start :start pause if %waiting% == 0 set i = %i%+1 goto for pause if %waiting% == 1 set waiting = 0 goto for REM ---------- REM Finde die msiexec.exe in der Taskliste, wenn gefunden dann gehe zu wait, wenn nicht, dann starte das nächste Programm :for for %%i IN (%i 1 12) do tasklist | findstr /i "msiexec.exe" 1>goto wait 2>&1 || goto %i :wait pause ping -n 3 127.0.0.1 > NUL set waiting = 1 goto :start :1 start "%ordner%7-Zip\7-Zip.msi" goto :start :2 start "%ordner%Adobe Acrobat Reader9\Adobe Acrobat Reader.msi" goto :start :3 start "%ordner%dsoffice\dsoffice.msi" goto :start :4 start "%ordner%Firefox+Java+Falsh\Firefox+Java+Falsh.msi" goto :start :5 start "%ordner%FoxitReader\FoxitReader.msi" goto :start :6 start "%ordner%freepdf+ghostsript\freepdf+ghostsript.msi" goto :start :7 start "%ordner%Irfanview423\Irfanview423.msi" goto :start :8 start "%ordner%Office2003\Office2003.msi" goto :start :9 start "%ordner%SO\SO.msi" goto :start :10 start "%ordner%uVNC1064\uVNC1064msi" goto :start :11 start "%ordner%vlc101\vlc101.msi goto :start :12 echo Fertig! echo pause
4. August 200916 j hi, also bei batch dateien ist die syntax sehr wichtig, dos is da knausrig so musst du z.B. anstatt set waiting = 0 set waiting=0 schreiben damit waiting überhaupt einen wert bekommt. dann sollte das if funktionieren addieren kann dos auch nicht wirklich gut(man bedenke das is windows^^) dafür brauchst du: set /a i=%i%+1 die for schleife müsste meines wssens nach ca. so aussehen: for /L %%i IN (%i% 1 12) do Befehl... mfg
6. August 200916 j Sorry für Spam - 15 min sind auch nicht mehr das was sie mal waren :floet: Konnte eine Menge rauswerfen und jetzt funktioniert die Batch mit folgendem Code wunderbar: set ordner=\\ein_bel_netzwerkpfad set i=0 goto for1 :for1 set /a i=%i%+1 FOR /L %%i IN (%i% 1 12) do goto %i% :1 call "%ordner%7-Zip\7-Zip.msi" echo %i% goto :for1 :2 call "%ordner%Adobe Acrobat Reader9\Adobe Acrobat Reader.msi" goto :for1 :3 call "%ordner%dsoffice\dsoffice.msi" goto :for1 :4 call "%ordner%Firefox+Java+Falsh\Firefox+Java+Falsh.msi" goto :for1 :5 call "%ordner%FoxitReader\FoxitReader.msi" goto :for1 :6 call "%ordner%freepdf+ghostsript\freepdf+ghostsript.msi" goto :for1 :7 call "%ordner%Irfanview423\Irfanview423.msi" goto :for1 :8 call "%ordner%Office2003\Office2003.msi" goto :for1 :9 call "%ordner%SO\SO.msi" goto :for1 :10 call "%ordner%uVNC1064\uVNC1064msi" goto :for1 :11 call "%ordner%vlc101\vlc101.msi goto :for1 :12 echo ----------Fertig----------- Pause exit
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.