In einer Batch habe ich „IF EXIST“-Abfragen, die auch richtig abgearbeitet werden und funktionieren, wenn man die Batch (egal ob *.bat
oder *.cmd
) in einer DOS-Box oder über Start ausführen ausführt.
Als Geplaneter Task, egal ob übder den Wizard in der Systemsteuerung, oder als AT-Befehl, werden die „IF-EXIST“-Abfragen einfach ignoriert und die Batch läuft weiter bis zum Schluß durch.
Getstethabe ich das auf folgenden OS:
SBS 2003, Vista 32bit und Win7 32bit
Wer weiß, wie man das Problem lösen kann?
Hast du den Datei Pfad als Absoluten Pfad angegeben? Es kann sein, dass als geplanter Task der Arbeitsordner anders ist.
Die genaue Abfrage lautet wie folgt:
if exist t:\xy\*.D?? echo %date% %time% Datei vorhanden! >> F:\logs\protokoll.txt
Wobei „T:“ ein gemapptes Laufwerk ist, das auf einem anderen Server liegt.
Hallo.
Wie du ja weisst sind die Funktionen in den verschiedenen Windows und Linux Systemen derart differenziert, dass jeder auf verschiedenen Gebieten mehr oder weniger „bewandert“ ist. Meine Schwerpunkte liegen woanders und ich müsste mich in das Problem „einarbeiten“ da ich es selber noch nie hatte. War vielleicht auch ein bisschen Glück dabei. Sorry, dass ich daher nicht weiterhelfen kann. Aber es hat ja hier welche die auf diesem Gebiet schon gute Kenntnisse haben.
Gruss
Das brachte mich zur Lösung:
das LW T: war nicht vernünftig gemappt.
Habe das Mapping mit im Skript integriert.
Eine interaktive DOS-Box hat dann folgende
Fehlermeldung beim mappen ausgewiesen:
Systemfehler 2457 aufgetreten.
Die Uhr dieses Servers ist mit der Uhr des primären Domänencontrollers nicht synchronisiert.
Ich habe mit NET TIME \Servername die Zeit auf allen Rechnern syncronisiert.
… nun läuft der Task auch so wie er soll … Problem erledigt !!!
hier kann ich leider auch nicht helfen
Hallo,
tut mir gleich doppelt leid, dass ich A Deine Anfrage
recht lange uebersehen habe und B leider nicht
weiterhelfen kann.
In einer Batch habe ich „IF EXIST“-Abfragen, die auch
richtig
abgearbeitet werden und funktionieren, wenn man die
Batch
(egal ob *.bat oder *.cmd) in einer DOS-Box oder über
Start
ausführen ausführt.
Als Geplaneter Task, egal ob übder den Wizard in der
Systemsteuerung, oder als AT-Befehl, werden die
„IF-EXIST“-Abfragen einfach ignoriert und die Batch
läuft
weiter bis zum Schluß durch.
Getstethabe ich das auf folgenden OS:
SBS 2003, Vista 32bit und Win7 32bit
Wer weiß, wie man das Problem lösen kann?
Was neuere Betriebssysteme als Windows XP angeht, nutze
ich nur Linux. Daher habe ich keine Ahnung, was die
Wizards von Vista, 7 und 2003 falsch machen. Immerhin
scheint Dir die Moegleichkeit zu bleiben, das Script in
einer DosBox auszufuehren. Um es als geplanter Task
auszufuehren, koennte es helfen, wenn Du dir die Cygwin-
Umgebung installierst (http://www.cygwin.com/). Wenn ich
mich nicht taeusche, sollte da ein cron mit dabei sein.
Falls nicht sollte man ihn nachinstallieren koennen.
Cron fuehrt Dein Script dann in gewuenschter
Regelmaessigkeit aus.
Viele Gruesse
Robin