it-swarm.com.de

Wie kann ich unter Windows einen Ordner auf Änderungen überwachen und gegebenenfalls einen Befehl ausführen?

Es gibt ähnliche Fragen für Linux und Mac , aber ich bin hinterher her eine Windows-Lösung hier.

Das Problem ist wie folgt: Ich möchte mehrere (js) Skriptdateien in einen Ordner schreiben und einen Programmmonitor für diesen Ordner auf Dateiänderungen und das Hinzufügen neuer Dateien einrichten und in jedem Fall einen Befehl ausführen (um alle zu einer zu kompilieren) einzelne Datei).

Die Lösung muss:

  1. Überwachen Sie sowohl Dateiänderungen als auch das Hinzufügen neuer Dateien in einem Ordner.
  2. Führen Sie einen Befehl nur aus , wenn sich etwas ändert.

Es ist am besten, wenn es sich um eine integrierte Lösung handelt (z. B. ein JScript- oder VBscript-Snippet) oder um eine Lösung, die keine Installation erfordert.

31
Camilo Martin

Es gibt ein Programm namens Belvedere, das den Trick machen könnte.

http://ca.lifehacker.com/341950/belvedere-automates-your-self+cleaning-pc

Es ist eine eigenständige Windows-App, die im Hintergrund ausgeführt wird.

Ich habe es so eingerichtet, dass mein Download-Ordner auf Dateien mit bestimmten Erweiterungen mit den letzten Änderungsdaten eines Tages überwacht wird. Die gefundenen Dateien werden gelöscht. Sie können jedoch stattdessen eine Aktion ausführen.

3
dangowans

Ich hatte guten Erfolg mit einem alten Programm namens Log Monitor. Es ist uralt und längst verlassen. Aber es erfüllt den Zweck ziemlich gut.

http://www.freeware-guide.com/download/index2.html

13
Bob

Zu diesem Zweck habe ich ein einfaches Dienstprogramm erstellt: https://github.com/benblamey/when_changed

verwendung: when_changed (Dateipfad) (Befehl) (optionale Parameter)

z.B. when_changed C:\somedir\foo.txt myapp.exe bar wibble 123

6
Ben

Mit .NET-Watchfoldern ist das wirklich einfach zu programmieren. Ich bin sicher, dass jemand ein solches Programm gemacht hat.

Habe gerade dieses Juwel für dich gefunden http://www.guidingtech.com/9861/automate-folder-actions-windows-watch-4-folder/

6
bokan

Ich versuche gerade diese App , die .NET benötigt, aber anscheinend funktioniert sie.

4
Camilo Martin

Noch ein anderes Tool: https://github.com/yankee42/Java-file-change-watcher

Vorteile: Plattformunabhängig (Java), klein (10KB).

Haftungsausschluss: Ich bin der Autor

2
yankee

Wenn Sie eine integrierte Lösung mit JScript oder VBScript erstellen möchten, müssen Sie nach einer Dateisystemüberwachung mit WMI-Ereignissubskriptionen suchen. Grundsätzlich schreiben Sie den Code, um Ordner- und Preform-Aktionen zu überwachen, wenn eine Änderung festgestellt wird, z. B .:

  • __InstanceCreationEvent
  • __InstanceDeletionEvent
  • __InstanceModificationEvent

... und Ihr Skript wird in einem Intervall ausgeführt, in dem darauf geachtet wird, dass diese Ereignisse eintreten. Es gibt viele Ressourcen, aber hier sind einige für VBScript und Powershell:

2
mrTomahawk

Dies ist eine so häufige Anforderung, dass ich überrascht bin, dass das Betriebssystem selbst kein praktisches Dienstprogramm enthält.

Wie bereits erwähnt, habe ich LogMonitor in der Vergangenheit erfolgreich verwendet. Allerdings fand ich diesen Blog-Beitrag informativ und verwende Watch 4 Folder jetzt .

Hoffentlich hilft dir das weiter.

2
Vijay

NirSoft verfügt über eine Software zum Überwachen von Änderungen an Dateien unter Windows
FolderChangesView

FolderChangesView ist ein einfaches Tool, das den ausgewählten Ordner oder das ausgewählte Laufwerk überwacht und alle Dateinamen auflistet, die während der Überwachung des Ordners geändert, erstellt oder gelöscht werden. Sie können FolderChangesView mit jedem lokalen Laufwerk oder mit einer Remote-Netzwerkfreigabe verwenden, sofern Sie Leseberechtigung für den ausgewählten Ordner haben.

enter image description here

sie können es kostenlos von hier herunterladen
Mehr Info

1
AminM

Sie können http://jnotify.sourceforge.net/ verwenden, um OS-spezifische Dateisystemüberwachungsereignisse zu abonnieren. Der Code ist Jahre alt, funktioniert aber immer noch (zumindest auf dem Windows Server 2013r2, den ich gestern getestet habe).

Auf https://github.com/redbooth/jnotify gibt es auch github resurrection von jnotify project, das keine eigenständige Demo-App bietet, sondern (laut commit) logs) behebt einige Bugs.

In Java7 sollte es auch eine Art inotify-ähnliche Dateisystemüberwachung geben, aber ich habe sie noch nicht getestet.

0
andrej