Fájlrendszer változásának érzékelése (script)

Sziasztok.

Egy program (Windows XP) néha lehelyez egy fájlt egy adott könyvtárba, ezt kellene nekem automatikusan feldolgozni és kinyomtatni (pl. Perl script-tel).

Megoldható elegánsan, hogy ha változik a megadott könyvtár tartalma, automatikusan induljon el a script, vagy csak az marad, hogy 3 másodpercenként kilistázom?

Köszönöm,
Máté.

Hozzászólások

Egyik lehetőség a file alteration monitor (fam), a másik, hogy az xp nem lerak egy fájlt hanem elküldi a gépen definiált nyomtatóra lpr protokollal és akkor a filterekbe bele tudod rakni a feldolgozó progidat is.

PS P:\fmate14> $fsw = New-Object System.IO.FileSystemWatcher
PS P:\fmate14> $fsw.Path = "p:\fmate14"
PS P:\fmate14> $fsw.Filter = "*.docx"
PS P:\fmate14> $fsw.EnableRaisingEvents = $true
PS P:\fmate14> Register-ObjectEvent $fsw "Created" -SourceIdentifier "FileSystemWatcher.Created" -Action { [Console]::Beep(300,50) }

(persze ha csak viccből van a msw topicban, akkor nem)

nembiztos hogy relevans, de ha SAMBA-n van aza file akkor esetleg

http://oreilly.com/catalog/samba/chapter/book/ch08_02.html

ezzel lehet valamit kezdeni

Aruld mar el melyik megoldast alkalmaztad, megol a kivancsisag :))

A javaslatok alapján utánaolvastam, hogy lehetne megoldani. Végül – rajtam kívülálló okokból – leállt a projekt, ha meg kellett volna csinálni, akkor Java környezetben a natív FileSystemWatcher (vagy micsoda) lett volna.

Illetve ha nem laikusnak készíteném, akkor vagy a PowerShell-es megoldás vagy egy egyszerű (AutoHotkey) segédprogram készítésével.

inotify a te barátod, ehhez van perl -ben csomag és perlből cups -ra is tudsz fileokat küldözgetni.
Arra figyelj, hogy a userek ne tudjanak könyvtárakat létrehozni, vagy úgy készítsd el a scriptet, hogy ez ne zavarja (cak fileokat figyeljen)

----
概略情報