Podobne pytania dotyczą systemu Linux i Mac , ale szukam rozwiązania dla systemu Windows.
Problem jest następujący: chcę napisać kilka plików skryptów (js) w folderze i zlecić programowi monitorowanie tego folderu pod kątem zmian plików i dodawania nowych plików oraz uruchamianie polecenia za każdym razem, gdy to nastąpi (aby skompilować je wszystkie w jeden pojedynczy plik).
Rozwiązanie musi:
- Monitoruj zarówno zmiany plików, jak i dodawane nowe pliki, w folderze.
- Uruchom komendę tylko w przypadku zmiany.
Najlepiej byłoby, gdyby było to wbudowane rozwiązanie (takie jak fragment kodu JScript lub VBscript) lub coś, co nie wymaga instalacji.
windows
filesystems
monitoring
Camilo Martin
źródło
źródło
Odpowiedzi:
Istnieje program o nazwie Belvedere, który może załatwić sprawę.
http://ca.lifehacker.com/341950/belvedere-automates-your-self+cleaning-pc
Jest to samodzielna aplikacja Windows, która działa w tle.
Skonfigurowałem go do monitorowania folderu pobrań pod kątem plików z określonymi rozszerzeniami z datami ostatniej modyfikacji jednego dnia. Pliki, które znajdzie, zostaną usunięte, ale zamiast tego możesz uruchomić akcję.
źródło
"{0}{1}"
w polu parametru, w tym w cudzysłowach). Jedyny problem: nie można zdefiniować osobnego polecenia dla każdego folderu. Tylko jeden na całym świecie.Miałem dobry sukces ze starym programem o nazwie Log Monitor. Jest starożytny i dawno porzucony. Ale całkiem dobrze służy temu celowi.
http://www.freeware-guide.com/download/index2.html
źródło
W tym celu stworzyłem proste narzędzie: https://github.com/benblamey/when_changed
użycie: when_changed (ścieżka pliku) (polecenie) (parametry opcjonalne)
np. when_changed C: \ somedir \ foo.txt myapp.exe pasek wibble 123
źródło
W przypadku zegarków .NET kodowanie jest naprawdę łatwe. Jestem pewien, że ktoś zrobił taki program.
Właśnie znalazłem ten klejnot dla ciebie http://www.guidingtech.com/9861/automate-folder-actions-windows-watch-4-folder/
źródło
Obecnie próbuję tej aplikacji , która wymaga .NET, ale wygląda na to, że działa.
źródło
Jest to tak powszechny wymóg, że jestem zaskoczony, że nie ma wygodnego narzędzia wbudowanego w sam system operacyjny.
W każdym razie, jak wspomniano wcześniej, z powodzeniem korzystałem z LogMonitora . Znalazłem jednak ten post na blogu i używam teraz Watch 4 Folder .
Mam nadzieję, że to ci pomoże.
źródło
Jeszcze inne narzędzie: https://github.com/yankee42/java-file-change-watcher
Zalety: niezależny od platformy (Java), mały (10 KB).
Oświadczenie: Jestem autorem
źródło
Jeśli chcesz zrobić wbudowane rozwiązanie za pomocą JScript lub VBScript, to czego szukasz, to monitorowanie systemu plików za pomocą subskrypcji zdarzeń WMI. Zasadniczo piszesz kod, aby monitorować folder i wykonywać akcje wstępne po wykryciu zmiany, takie jak:
__InstanceCreationEvent
__InstanceDeletionEvent
__InstanceModificationEvent
... a skrypt działa w odstępach czasu, obserwując wystąpienie tych zdarzeń. Istnieje wiele zasobów, ale oto niektóre z VBScript i Powershell:
źródło
NirSoft posiada oprogramowanie do monitorowania zmian plików w Windows
FolderChangesView
możesz go pobrać za darmo tutaj
Więcej informacji
źródło
Możesz użyć http://jnotify.sourceforge.net/ który subskrybuje zdarzenia monitorowania systemu plików specyficzne dla systemu operacyjnego. Kod ma wiele lat, ale nadal działa (przynajmniej na Windows Server 2013r2 testowałem go wczoraj).
Istnieje również github wskrzeszenie projektu jnotify na https://github.com/redbooth/jnotify który nie oferuje samodzielnej aplikacji demonstracyjnej, ale (zgodnie pewne błędy.
W java7 powinien być też pewien rodzaj systemu plików typu inotify, ale jeszcze go nie testowałem.
źródło