keiosid
Goto Top

Verzeichniss mittels Batch dauernd scannen

Hallo,

ich habe bereits eine Batchdatei, welche mir ein Verzeichnis ausliest, und die darin befindlichen Dateien verschiebt.
Hier habe ich aber inzwischen dass Problem, dass die Intervalle zu lange sind.
Momentan wird die Batchdatei mittels Schedule Task einmal pro Minute aufgerufen. Eine höhere Taktung ist mit Schedule Task nicht möglich.

Wie schaffe ich es, dass diese Batchdatei das Verzeichnis jede Sekunde sozusagen abscannt.

Danke im voraus für Antworten

Grüße

KeiosID

Content-Key: 81304

Url: https://administrator.de/contentid/81304

Printed on: April 19, 2024 at 11:04 o'clock

Member: geTuemII
geTuemII Feb 21, 2008 at 12:11:52 (UTC)
Goto Top
Sprunganweisung vom Ende des Batchs zu dessen Anfang? Dann brauchst du es aber nicht mehr über die Scheduled Tasks zu starten. Evtl. solltest du dann aber in das Batch eine Warteschleife einbauen, damit es sich nicht totscannt face-wink

geTuemII
Member: stbewo
stbewo Feb 21, 2008 at 12:20:49 (UTC)
Goto Top
Hi KeiosID,

so sorgt man für eine gewisse Grundlast face-wink

WMIC DataFile WHERE "Drive='E:' AND Path='\\test\\'" GET Name, FileSize /EVERY:2 /REPEAT:5

Musst Du an Deine Bedürfnisse einmal anpassen.


Gruß
Stefan
Member: KeiosID
KeiosID Feb 21, 2008 at 12:40:29 (UTC)
Goto Top
Hi Stefan,

danke für die Hilfe,

kannst Du mir die Zeile noch ein wenig erläutern,
programmieren gehört nicht so ganz zu meine stärken, muss es aber manchmal machen.

Grüße

KeiosID
Member: stbewo
stbewo Feb 21, 2008 at 12:54:34 (UTC)
Goto Top
Die WMI Console sucht im Verzeichnis E:\test und den darunter liegenden Verzeichnissen nach Files und zeigt sie alle 2 Sekunden an und hört nach 5 Wiederholungen auf. Man kann z.B. auch angeben, dass er nur JPG's auflisten soll.

Gruß
Stefan

PS: Was ich vergessen habe. Funktioniert ab XP Pro SP2.
Member: KeiosID
KeiosID Feb 21, 2008 at 14:56:00 (UTC)
Goto Top
ALso die aktuelle Lösung sieht so aus:


:anfang
C:
@echo

move \testdaten\*.* C:\spool

sleep 2

goto :anfang


Funktioniert eigentlich ganz gut,

nur wie bekomm ich diesen jezt dazu, nach ca 1 min wieder aufzuhören.
Die Batch wird dann via schedule Task neu gestartet.

Danke
Gruß
KeiosID
Member: bastla
bastla Feb 21, 2008 at 15:08:27 (UTC)
Goto Top
Hallo KeiosID!

nur wie bekomm ich diesen jezt dazu, nach ca 1 min wieder aufzuhören.
Warum aufhören? Ändere die Sekundenangabe nach "sleep" entsprechend (etwa auf 50, wenn 1-Minuten-Intervalle schon zu lang sind) und lass den Batch in der Endlosschleife weiterlaufen ...

Grüße
bastla
Member: KeiosID
KeiosID Feb 21, 2008 at 15:13:52 (UTC)
Goto Top
Hi Bastla,

es muss gewährleistet sein,
dass diese Batch immer läuft.

Wenn aus irgendwelchen Gründen diese Batch stehen bleibt(Server wird neugestartet, ein anderer admin killt diese, )
so wird diese vom Schedule Taskmanager wieder neu gestartet.

Durch das anhalten der Batch erhoffe ich mir, dass sich die Einzelnen Batches nicht überholen bzw verdoppeln,
wenn ich diese durch den Schedule Taskmanager starte.

Danke

Gruß

KeiosID
Member: bastla
bastla Feb 21, 2008 at 15:26:54 (UTC)
Goto Top
Hallo KeiosID!

Dann lege einfach fest, dass der Vorgang zB 20mal ausgeführt wird:
for /l %%i in (1,1,20) do move C:\testdaten\*.* C:\spool & sleep 2

Grüße
bastla
Member: KeiosID
KeiosID Feb 25, 2008 at 08:22:58 (UTC)
Goto Top
Hallo,

hier nun mine Lösung, etwas umständlicher als die von bastla, aber immerhin endlich geschafft.
echo off

set counter=0
set maxcount=36000

:next

move N:\AboRe*.* C:\spool

sleep 1
set /a counter=%counter% + 1
echo %counter%

if "%counter%" NEQ "%maxcount%" goto next

exit

Aber ich denke, ich werde die Lösung von bastla einsetzten, sieht irgendwie eleganter aus.

So, und nun noch eine Frage:

Kann ich das schwarze Fenster irgendwie in den Hintergrund verbannen?

Danke

Gruß
KeiosID
Member: TuXHunt3R
TuXHunt3R Mar 01, 2008 at 22:23:34 (UTC)
Goto Top
Kann ich das schwarze Fenster irgendwie in den Hintergrund verbannen?

Sieh dir mal das Tool RunAsSvc.exe an. Damit kannst du z.B. einen Batch oder ein VBS/PSL als Dienst laufen lassen. Dann müsste auch nicht immer extra ein Benutzer nur für diesen Batch eingeloggt sein.
Member: ahe
ahe Mar 04, 2008 at 15:54:53 (UTC)
Goto Top
Schau' 'mal hier: http://www.commandline.co.uk/cmdow/index.html

Mit Hilfe von cmdow kannst du die Shell verstecken...

mfg
Axel