Wie überwacht man einen Ordner auf Änderungen und führt einen Befehl unter Windows aus?

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

Das Problem ist wie folgt: Ich möchte mehrere (js) Skriptdateien in einen Ordner schreiben und ein Programm diesen Ordner auf Dateiänderungen und neue Dateien überwachen lassen und in jedem Fall einen Befehl ausführen (um sie alle in einer einzigen Datei zu kompilieren).

Die Lösung muss:

  1. Überwachen Sie sowohl Dateiänderungen als auch neue hinzugefügte Dateien, in Ordner.
  2. Führen Sie einen Befehl aus nur wenn sich etwas ändert.

Es wäre am besten, wenn es sich entweder um eine integrierte Lösung (wie ein JScript-oder VBScript-Snippet) oder um etwas handelt, für das keine Installation erforderlich ist.

Author: Community, 2012-08-31

10 answers

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

Http://ca.lifehacker.com/341950/belvedere-automates-your-self+Reinigung-pc -

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

Ich habe es eingerichtet, um meinen Download-Ordner auf Dateien mit bestimmten Erweiterungen mit dem Datum der letzten Änderung eines Tages zu überwachen. Die Dateien, die es findet, löscht es, aber Sie könnten es stattdessen eine Aktion ausführen lassen.

 3
Author: dangowans,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-08-31 15:02:15

Ich hatte guten Erfolg mit einem alten Programm namens Log Monitor. Es ist uralt und vor langer Zeit verlassen. Aber es dient dem Zweck ziemlich gut.

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

 13
Author: Bob,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-08-31 14:54:17

Ich habe ein einfaches Dienstprogramm für diesen Zweck erstellt: https://github.com/benblamey/when_changed

Verwendung: when_changed (Dateipfad) (Befehl) (optional-Parameter)

Z. B. when_changed C:\somedir\foo.txt Anwendung.exe-bar wibble 123

 7
Author: Ben,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-07-11 13:21:48

Mit. NET Watchfolders ist dies wirklich einfach zu codieren. Ich bin sicher, jemand hat so ein Programm gemacht.

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

 6
Author: bokan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-08-31 14:58:02

Ich versuche gerade diese App, die. NET erfordert, aber es sieht so aus, als ob es den Job macht.

 4
Author: Camilo Martin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-08-31 15:03:58

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

Wie auch immer, wie bereits erwähnt, habe ich LogMonitor in der Vergangenheit erfolgreich verwendet. Allerdings fand ich diesen Blogpost informativ und verwende jetzt Watch 4 Folder.

Hoffentlich hilft dir das.

 2
Author: Vijay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-09-04 09:27:50

Noch ein Werkzeug: https://github.com/yankee42/java-file-change-watcher

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

Haftungsausschluss: ich bin der Autor -

 2
Author: yankee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-03-02 14:24:47

Wenn Sie eine integrierte Lösung mit JScript oder VBScript erstellen möchten, sollten Sie nach Dateisystemüberwachung mit WMI-Ereignisabonnements suchen. Grundsätzlich schreiben Sie den Code, um einen Ordner zu überwachen und Aktionen vorzuformulieren, 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 auftreten. Es gibt viele Ressourcen, aber hier sind einige für VBScript und Powershell:

 2
Author: mrTomahawk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-06-02 07:14:43

NirSoft hat Software für Monitor-Dateien Änderungen unter Windows
FolderChangesView

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

geben Sie hier die Bildbeschreibung ein

Sie kann es kostenlos von hier herunterladen
Mehr Info

 1
Author: AminM,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-05-22 05:20:24

Sie können http://jnotify.sourceforge.net/, das os-spezifische Dateisystemüberwachungsereignisse abonniert. Der Code ist Jahre alt, funktioniert aber immer noch (zumindest auf dem Windows Server 2013r2 habe ich ihn gestern getestet).

Es gibt auch github Auferstehung von jnotify Projekt auf https://github.com/redbooth/jnotify, das keine eigenständige Demo-App bietet, aber (laut Commit-Protokollen) einige Fehler behebt.

In java7 sollte es eine Art Inotify-like geben Dateisystemüberwachung auch, aber ich habe es noch nicht getestet.

 0
Author: andrej,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-11-28 19:03:42