pkiwerner
Goto Top

Skript automatisch starten wenn eine neue Datei in einem Ordner erstellt wird

Hallo,

ich bin hier neu, und hab ein hoffentlich kleines Problem.

Folgendes. Ich lade für Tests eine Datei auf einen internen TFTP-Server auf einen Windows 2003 Server. Das heist die Datei landet in einen ganz normalen Ordner.

Ich möchte jetzt wenn die Datei in dem Ordner landet automatisch ein Skript starten. Dieses Skript (viel mehr eine Batchdatei) macht dann einiges mit der Datei und fertig.

Mir gehts jetzt nur darum wie bringe ich Windows dazu den Ordner zu überwachen und dann das Skript zu starten.

Egal ob das mit Bordmittel, PERL, WSH oder ähnlichen funktioniert. Bitte schreibt mir.

Danke

Gruß
Werner

Content-Key: 20309

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

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

Mitglied: 20728
20728 Nov 26, 2005 at 22:04:30 (UTC)
Goto Top
Hallo..

Ich kenne nur eine unschöne Lösung.
Per Cronjob ein PHP Script ausführen, der die neuste Datei Ausführt.

Script zum zählen und ausführen von Dateien durch PHP findest du per google.

Aber warscheinlich gibt es eine wesentlich schönere und einfachere Lösung.

Gruß
Aaron
Member: Xaazh
Xaazh Nov 28, 2005 at 14:24:56 (UTC)
Goto Top
Davon ausgehend das es ein Windows Server ist erstellst Du irgendwo ein Script mit ungefähr folgendem INhalt:

snip -----

Dim fso

Set fso = createobject("scripting.filesystemobject")
Set Folder = fso.GetFolder("C:\tftp") ' hier die root zu deinem tftp verzeichnis eintragen
Set FileList = Folder.Files

For each File in FileList
Dim WshShell, oExec, exeString
Set WshShell = CreateObject("WScript.Shell")

exeString = "Meine_Batch.bat " & File.name
MsgBox(exeString)
' Set oExec = WshShell.Exec(exeString)

WshShell.run exeString
Next

snap -----
Und in Meine_Batch.bat solle dann drinstehen was auch immer Du machen möchtest.
z.B.:
type %1
pause
oder
move %1 nach irgendwo ....


Dann brauchst Du nur noch einen task der alle xxx Minuten das script aufruft und fertig.
Aber daran denken das Du die files verschiebst sonst werden die bei jeden Aufruf durchgeackert.

hth
Xaazh