Batch mit schleife hängt sich nach 10 Minuten weg
Bei einer Reihe von IF Abfragen hängt sich die schleife nach 5 Min weg oder wird nicht mehr ausgeführt
Hallo zusammen,
ich frage mit einer Batch auf einem Unixserver (steht aber nicht in unserem Haus) dateien ab. Wenn also eine bestimmte datei in einem Verzeichnist steht beginnt die Routine und kopiert etwas. Problem ist wahrscheinlich das die Batchschleife irgendwann im Cache landet und nicht mehr tatsächlich überprüft wird ob die Dateien da sind. Die Batch läuft auf nem NT-Rechner in einer Dosbox. Habe schon die Einstellungen der Dosbox geändert, in dem ich die Puffergröße auf 1 und Anzahl der Puffer auf 1 Gesetzt habe, auch der Befehlsstapel wird gelöscht. Wie kann ich verhindern, daß die batch irgendwann gecacht wird? Sie sieht so aus:
echo sngmTH
if exist sngmth.dat goto sngmth
echo sngmAB
if exist sngmab.dat goto sngmab
echo sngmGM
if exist sngmgm.dat goto sngmgm
echo sngmHS
if exist sngmhs.dat goto sngmhs
echo sngmPZ
if exist sngmpz.dat goto sngmpz
echo sngmMW
if exist sngmmw.dat goto sngmmw
echo sngmNR
if exist sngmnr.dat goto sngmnr
echo sngmMS
if exist sngmms.dat goto sngmms
echo sngmKL
if exist sngmKL.dat goto sngmKL
echo sngmAS
if exist sngmAS.dat goto sngmAS
echo.
echo.
echo.
tpause /T:00:00:03 " Type x for quit..." ,x
if errorlevel 1 goto exit
cls
goto start
Oder mache ich noch was anders falsch ???? Kann mir jemand helfen???
Danke schon mal im Voraus
Hallo zusammen,
ich frage mit einer Batch auf einem Unixserver (steht aber nicht in unserem Haus) dateien ab. Wenn also eine bestimmte datei in einem Verzeichnist steht beginnt die Routine und kopiert etwas. Problem ist wahrscheinlich das die Batchschleife irgendwann im Cache landet und nicht mehr tatsächlich überprüft wird ob die Dateien da sind. Die Batch läuft auf nem NT-Rechner in einer Dosbox. Habe schon die Einstellungen der Dosbox geändert, in dem ich die Puffergröße auf 1 und Anzahl der Puffer auf 1 Gesetzt habe, auch der Befehlsstapel wird gelöscht. Wie kann ich verhindern, daß die batch irgendwann gecacht wird? Sie sieht so aus:
echo sngmTH
if exist sngmth.dat goto sngmth
echo sngmAB
if exist sngmab.dat goto sngmab
echo sngmGM
if exist sngmgm.dat goto sngmgm
echo sngmHS
if exist sngmhs.dat goto sngmhs
echo sngmPZ
if exist sngmpz.dat goto sngmpz
echo sngmMW
if exist sngmmw.dat goto sngmmw
echo sngmNR
if exist sngmnr.dat goto sngmnr
echo sngmMS
if exist sngmms.dat goto sngmms
echo sngmKL
if exist sngmKL.dat goto sngmKL
echo sngmAS
if exist sngmAS.dat goto sngmAS
echo.
echo.
echo.
tpause /T:00:00:03 " Type x for quit..." ,x
if errorlevel 1 goto exit
cls
goto start
Oder mache ich noch was anders falsch ???? Kann mir jemand helfen???
Danke schon mal im Voraus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 48380
Url: https://administrator.de/contentid/48380
Ausgedruckt am: 04.11.2024 um 18:11 Uhr
12 Kommentare
Neuester Kommentar
Ob du etwas Falsch machst, kann man nur dann sagen, wenn du die Komplette Batch postest. Wieso willst du denn eine Dauerschleife haben ? Mache doch einfach einen Cronjob ( geplanten Task ) der deine Batch im Minuten Takt einmal durchlaufen lässt. Das reduziert auf jeden Fall dein unnützen Netzwerktraffic enorm. Dann hast du wenigstens keine Cache Probleme. Oder sind das Daten die just in Time kopiert werden müssen ?
MFG Metzger
MFG Metzger
Warum erzeugst du in vba eine Datei deren Existenz in der batch geprüft wird das sie loslaufen kann (habs doch so richtig verstanden oder?)? Starte doch gleich die Batch aus der Worddatei (vba) heraus, dann läuft sie ncith dauernt. Wenn du es dann noch anstatt der Datei einen bestimmten Namen zu geben als Kennung der Batch diese Kennung als Übergabeparameter gibst würde sich die Batch auch bischen verkürzen und die if Abfragen reduziert werden.
miniversum
miniversum
Ich habe das Gefühl wir hier nun irgendwie aneinander vorbei reden. Ich blicke nun nicht mehr wirklich durch, und weis nicht mehr wer warum was in welcher Reihenfolge wenn aufruft und und wen wohin kopiert. grumpf
@ midi66
Bitte schildere mir ( uns ) doch einmal genau wer was genau wann in welcher Reihenfolge macht.
Stelle dir dabei vor es gäbe keine Batchdatein und du müßtest alles von Hand machen, die Überprüfungen und so weiter.
z.b. Brötchen nehmen, Messer in die andere Hand nehmen, Messer auf Brötchen aufsetzten und anschliessend aufschneiden, Messer aus der Hand legen, die obere Brötchenhälfte mit der freien Hand abheben ...
1. Die Unixkiste generiert das File "XYZ" und legt es bei sich ab.
.
.
.
Ich habe ja verstanden das Fusion95 eine Software ist, die auf eine Unixkist läuft und dort das "oos Filsystem" der Windowswelt per TCPIP zugänglich macht, und nur deine NT4 Kiste darauf zugriff hat.
Mfg Metzger
p.s. Entschuldige bitte meine Verwirrung.
@ midi66
Bitte schildere mir ( uns ) doch einmal genau wer was genau wann in welcher Reihenfolge macht.
Stelle dir dabei vor es gäbe keine Batchdatein und du müßtest alles von Hand machen, die Überprüfungen und so weiter.
z.b. Brötchen nehmen, Messer in die andere Hand nehmen, Messer auf Brötchen aufsetzten und anschliessend aufschneiden, Messer aus der Hand legen, die obere Brötchenhälfte mit der freien Hand abheben ...
1. Die Unixkiste generiert das File "XYZ" und legt es bei sich ab.
.
.
.
Ich habe ja verstanden das Fusion95 eine Software ist, die auf eine Unixkist läuft und dort das "oos Filsystem" der Windowswelt per TCPIP zugänglich macht, und nur deine NT4 Kiste darauf zugriff hat.
Mfg Metzger
p.s. Entschuldige bitte meine Verwirrung.
Hallo midi66!
Wenn ich Dich richtig verstehe, sind eigentlich 3 Recher beteiligt: das Unix-System, ein Rechner für Word und die NT-Maschine als "Vermittler" dazwischen - richtig?
Wenn ja, könnte die Lösung (wie im Prinzip schon von Metzger-MCP vorgeschlagen) mittels einer Batchdatei auf dem "Word-Rechner" erfolgen. Dieser Batch müsste
Oder liege ich mit meiner Interpretation auch falsch?
Grüße
bastla
Wenn ich Dich richtig verstehe, sind eigentlich 3 Recher beteiligt: das Unix-System, ein Rechner für Word und die NT-Maschine als "Vermittler" dazwischen - richtig?
Wenn ja, könnte die Lösung (wie im Prinzip schon von Metzger-MCP vorgeschlagen) mittels einer Batchdatei auf dem "Word-Rechner" erfolgen. Dieser Batch müsste
- auf dem NT-Rechner das Abholen der Datei starten (als Werkzeug dafür gibt es zB PsExec),
- (nach einer Pause) die abgeholte Datei vom NT-Rechner auf den "Word-Rechner" kopieren / verschieben bzw dies wie gehabt ebenfalls vom NT-Rechner machen lassen und
- (ev nach einem weiteren kurzen "sleep") die Datei auf dem "Word-Rechner" mit Word öffnen.
Oder liege ich mit meiner Interpretation auch falsch?
Grüße
bastla