ShaShlika Geschrieben 4. August 2009 Teilen Geschrieben 4. August 2009 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
getCppKenntnisse() Geschrieben 4. August 2009 Teilen Geschrieben 4. August 2009 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ShaShlika Geschrieben 6. August 2009 Autor Teilen Geschrieben 6. August 2009 Danke erstmal, daran scheint es tatsächlich gelegen zu haben Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ShaShlika Geschrieben 6. August 2009 Autor Teilen Geschrieben 6. August 2009 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.