Script (Batch) Download +1

  • Ersteller Ersteller tabea60
  • Erstellt am Erstellt am
T

tabea60

Gast
Hallo zusammen,

ich bin die Tabea und bin langsam am verzweifeln da ich keinen Durchblick mehr habe!
Ich hoffe, dass es hier jemanden gibt der mehr vom Scriptschreiben versteht und mir bei meinem Problem hilft!

Das Script funktioniert soweit ganz gut aber ich möchte den Download auf 1x Update beschränken!
Vielleicht ist einer von Euch in der Lage mein Problem zu lösen!?

Für die Mühe bedanke ich mich im Voraus und wünsche schöne Pfingsten -gehabt zu haben-!

Code:
:download
ping /n 9 localhost >nul
echo/

if %myprogrammist2% EQU 100 goto nomyprogramm

echo ****************************************
echo *                                      *

if %myprogrammist2% GTR 999 (
echo *   myprogramm Update from %myprogrammist2% to max.1350       *
) else (
echo *   myprogramm Update from %myprogrammist2% to max.1350        *
)
set /a cnt=%myprogrammist2%
:loopa
set /a cnt=%cnt%+1
wget --spider -o download http://myhomepage/update/myprogramm/%versiondir%/up-at2%cnt%%version%.exe
findstr  /m "Length:" download
if %errorlevel%==1 (
echo *            myprogramm complete             *
echo *                                      *
echo ****************************************
goto AT1
) else (
if exist %home%\SYLT\DATA\AT2\Update\up-at2%cnt%%version%.exe (
goto loopa
) else (
wget.exe -q -c http://myhomepage/update/myprogramm/%versiondir%/up-at2%cnt%%version%.exe -P %home%\SYLT\DATA\AT2\Update
)
)
if %cnt% lss 1350 goto loopa
 
Hallo,

start /? (und dann siehe Commandline-Option "WAIT")

Gruss,
Andi
 
Ich Suche kein Tipp sondern eine fertige Lösung!
Bin mir auch nicht sicher ob das Problem in der geposteten Zeile (1-32) liegt oder bereits vorher!
 
Ich lese nur heraus, ab 999 wird hochgezählt und jedes mal das Update gemacht. Nur warum? Was bringt die Zahl 999 bis 1350?
Stimmt der Zielort aus Zeile 18? Sonst findet er die Datei ja nie in Zeile 26.
 
@ firexs,
ich habe bereits experimentiert und festgestellt, dass der Fehler für das Downloaden in der Zeile 32 liegt muss!
Die Zeile 32 loadet alle vorhandenen Updates auch über das Update 1350 hinweg was ich nicht möchte!
Gibt es eine Möglichkeit das auf 3x Updates zu begrenzen?

Code:
Loadet alles was vorhanden ist
if %cnt% lss 1350 goto loopa

Code:
Loadet nur 1x Update
if %cnt% goto loopa
 
Zuletzt bearbeitet von einem Moderator:
Vermutlich kommt das Script nur bis 26/27 Und springt dann zurück?! Daher rennt das ewig hoch.
 
Nö, daran liegt es nicht!
Ich vermute, dass die gewünschte Option nicht am Script (Batch) liegt sondern viel mehr mit WGET zusammenhängt!

Besteht die Möglichkeit mit WGET und einem Befehl den Download zu begrenzen?
Wenn ja, wie müsste der Befehl lauten?
 
Zuletzt bearbeitet von einem Moderator:
Ne. Aber eines fällt mir noch ein.

Wenn eine if Schleife nicht funktioniert hat, hab ich früher if not genommen.

Also: if not %cnt% EQU 1350 goto loopa
 
Nö, am Script selbst liegt der Fehler nicht! Ich kann probieren wie ich will es funktioniert nicht so wie ich mir das vorstelle!

Wenn %cnt% = 1000 und der Wert "1350" nicht erreicht wurde dann loadet er alles bis zu diesem Wert!!!!!!

Das Problem muss ich irgendwie anders lösen als gedacht!
Ich dachte man könnte WGET irgendwie beibringen max. x Updates zu loaden ab %cnt%!!
 
Wget ist doch nur der Download Befehl und hat nichts mit deiner zählschleife zu tun.
Diese Schleife hat verschiedene Events, die bestimmen ob geladen wird oder nicht.
Leider ist nicht ersichtlich woher die Zahlen bezogen werden.
Darum wird die Schleife, wenn JA auch solange durchlaufen bis sie bei 1350 ist.
Sonst begrenze es auf 1001. Dann geht es nur 1x.
 
Wenn %cnt% = 1000 ist dann möchte ich 1x max. 5x Updates loaden!
Wenn die Updates installiert werden wird der Datenstand %cnt% aktualisiert und das Spiel kann von neuem beginnen!

Der Hintergrund der Begrenzung liegt darin, dass das Programm warum auch immer sich mit einem Bluescreen verabschiedet wenn mehrere Updates hintereinander installiert werden!
 
Bezüglich Bluescreen: da passt evtl Post #2, das man mit Wait oder Ping eine Pause einsetzt. Wenn nach einem Download gleich der nächste folgt und dann sich 2 Installationen überschneiden, dann knallt es.

Und wenn es maximal 5 Downloads sein sollen, würde ich das ganze in eine Schleife packen.

Code:
set /a "zaehler = 1"
:while1
    if %zaehler% leq 5 (
      
       [HIER DEIN DOWNLOAD SKRIPT]
        
        set /a "zaehler = zaehler + 1"
        goto :while1
    )                                    // und die Klammer nicht vergessen.
 
Zurück
Oben