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-ID: 81304

Url: https://administrator.de/forum/verzeichniss-mittels-batch-dauernd-scannen-81304.html

Ausgedruckt am: 22.12.2024 um 21:12 Uhr

geTuemII
geTuemII 21.02.2008 um 13:11:52 Uhr
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
stbewo
stbewo 21.02.2008 um 13:20:49 Uhr
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
KeiosID
KeiosID 21.02.2008 um 13:40:29 Uhr
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
stbewo
stbewo 21.02.2008 um 13:54:34 Uhr
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.
KeiosID
KeiosID 21.02.2008 um 15:56:00 Uhr
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
bastla
bastla 21.02.2008 um 16:08:27 Uhr
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
KeiosID
KeiosID 21.02.2008 um 16:13:52 Uhr
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
bastla
bastla 21.02.2008 um 16:26:54 Uhr
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
KeiosID
KeiosID 25.02.2008 um 09:22:58 Uhr
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
TuXHunt3R
TuXHunt3R 01.03.2008 um 23:23:34 Uhr
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.
ahe
ahe 04.03.2008 um 16:54:53 Uhr
Goto Top
Schau' 'mal hier: http://www.commandline.co.uk/cmdow/index.html

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

mfg
Axel