Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch mit schleife hängt sich nach 10 Minuten weg

Frage Entwicklung Batch & Shell

Mitglied: midi66

midi66 (Level 1) - Jetzt verbinden

10.01.2007, aktualisiert 12.02.2007, 6420 Aufrufe, 12 Kommentare

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
Mitglied: Metzger-MCP
10.01.2007 um 10:08 Uhr
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
Bitte warten ..
Mitglied: midi66
10.01.2007 um 10:20 Uhr
Hallo
erst mal danke für die Antwort, aber genau das ist das Problem. Ich muß die Daten just-in-time haben. Das ganze läuft so: Auf der Unixkiste wird eine Datei generiert. Die steht nun da und muß wenn sie erstellt ist irgendwie auf mein Netz. Um aber nicht ständig über DSL auf der Unixkiste zu gucken wird eine von einem WordMacro über eine batch eine anforderunsdatei auf die Nt-Kiste gestellt, und wenn die da ist gehe ich auf die unix-kiste und kopiere meine Datei auf mein netz und öffne sie dort in word. iss kompliziert aber ich weiß nich wie ich es anders lösen soll.

Hier die ganze batch:
@echo off
:start
cls
c:
cd\
cd transhcs
echo.
echo active:
echo.
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
rem goto exit

:sngmTH
call c:\transhcs\trans_TH.bat
del c:\transhcs\sngmTH.dat
goto start

:sngmAB
call c:\transhcs\trans_AB.bat
del c:\transhcs\sngmAB.dat
goto start

:sngmGM
call c:\transhcs\trans_GM.bat
del c:\transhcs\sngmGM.dat
goto start

:sngmHS
call c:\transhcs\trans_HS.bat
del c:\transhcs\sngmHS.dat
goto start

:sngmPZ
call c:\transhcs\trans_PZ.bat
del c:\transhcs\sngmPZ.dat
goto start

:sngmMW
call c:\transhcs\trans_MW.bat
del c:\transhcs\sngmMW.dat
goto start

:sngmNR
call c:\transhcs\trans_NR.bat
del c:\transhcs\sngmNR.dat
goto start

:sngmMS
call c:\transhcs\trans_ms.bat
del c:\transhcs\sngmms.dat
goto start

:sngmKL
call c:\transhcs\trans_kl.bat
del c:\transhcs\sngmkl.dat
goto start

:sngmAS
call c:\transhcs\trans_as.bat
del c:\transhcs\sngmas.dat
goto start

:exit

die Trans_* kopiert erst die datei von der Unix-kiste auf mein netz.
Bitte warten ..
Mitglied: miniversum
10.01.2007 um 16:30 Uhr
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
Bitte warten ..
Mitglied: midi66
10.01.2007 um 16:41 Uhr
Das mache ich deswegen, weil auf der Unix kiste ein veraltetes Fusion95 läuft und ich nur mit einem NT4 Rechner an die Daten komme. (oder weißt du was besseres) Die batch kann ich aber nicht direkt auf dem nT rechner im Fusion95 verzeichnis laufen lassen weil sie sonst zu viel trafic erzeugt. Die Unix-Kiste an einem anderem Standort über VPN angebunden.
Bitte warten ..
Mitglied: Metzger-MCP
11.01.2007 um 09:38 Uhr
Das heist doch also, nur wenn du Word öffnest lässt du nachgeschauen ob die Datein da sind.
Starte doch einfach die Batch einmalig ( wenn do Word öffnen möchtest ) , und rufe aus der Batch word auf.

MFG Metzger
Bitte warten ..
Mitglied: midi66
11.01.2007 um 09:49 Uhr
Das ist aber nicht mein Problem. Wenn in Word das Macro gestartet wird, ist die Datei an einem definiertem Ort auf der Unix maschine. NUR: auf der Unix-Kiste läuft ein veraltetes Fusion95 (habe keinen einfuss darauf) und ich kann nur über einen einzigen Rechner, auf dem ein NT4 noch läuft, darauf zugreifen. Wenns ein Prog. gäbe, was auf Nt4 läuft und mir die Datei auf anforderung an einen Platz kopiert wärs ja gut. Kenne aber keins, daher die batches. Kann die Abfrage auch nicht ständig auf der Unixmaschine laufen lassen, da sie über DSL angebunden ist und mir sonst zuviel trafic produziert.
Bitte warten ..
Mitglied: Metzger-MCP
11.01.2007 um 15:46 Uhr
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.
Bitte warten ..
Mitglied: midi66
11.01.2007 um 16:11 Uhr
@ Metzger

Kein Problem, also:
Auf unix entsteht ein File, das mit Word weiter verarbeitet werden soll. Der gleiche User der das File unter Unix erstellt hat, soll es mit word aufrufen und weiterverarbeiten.

Der Weg:
1. Datei wird auf Unix-kiste erstellt
2. In word wird ein Macro ausgeführt
Dieses Macro Stellt als Signal dafür das die Datei abgeholt werden soll ein File "losjetzt" an einen ort. und wartet dann
derzeit 10sec. bis datei da ist. wärend dessen:
Eine Batch (sucher) erkennt "losjetzt" als aufforderung an einem bestimmten Ort die auf unix erstellte Datei in ein bestimmtes Verzeichnis zu kopieren. Danach löscht sie "losjetzt" und wartet auf das nächste "losjetzt".
Problem dabei ist eigentlich nur das sich meine Batch "sucher" die ständig auf der "nt-kiste" läuft wahrscheinlich im cache tot rennt. Dh. sie guckt garnicht mehr und stellt auch nicht mehr fest das schon längst eine neue "losjetzt" da ist.

Mfg Midi66
Bitte warten ..
Mitglied: bastla
12.01.2007 um 02:00 Uhr
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

  • 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
Bitte warten ..
Mitglied: midi66
12.01.2007 um 08:10 Uhr
Hallo bastla,

Du hast recht, genau so sollte es gehen und wird es im prinzip ja jetzt auch gemacht. Das Prog. PsExec kannte ich nicht. Werde mal schauen ob es mein problem löst. Zunächst mal hab ich ja jetzt wieder was zu "basteln". Auf jeden Fall schon mal ein großes Danke für den Tipp melde mich wieder

Grüße
midi66
Bitte warten ..
Mitglied: Biber
10.02.2007 um 11:43 Uhr
Danke für den Tipp melde mich wieder..

Okay, dann warten wir einfach ein paar Tage...

Gruss
Biber
Bitte warten ..
Mitglied: midi66
12.02.2007 um 08:01 Uhr
Hey das hat ganz gut geklappt mit dem PsExec. Hat zwar was gedauert bis ich es ans rennen bekommen habe, aber es klappt und ich brauche meine Batch- Schleife nicht mehr. Damit hat sich mein Problem mit der Batch erledigt. Nochmals vielen vielen Dank für die schnelle Hilfe.

midi66
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch Schleife als FOR-SCHLEIFE (2)

Frage von mp2711 zum Thema Batch & Shell ...

Notebook & Zubehör
Laptop hängt nach Windows 10 Update (1)

Frage von Markowitsch zum Thema Notebook & Zubehör ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (14)

Frage von liquidbase zum Thema Windows Update ...