如何在 Windows 上监视文件夹的更改并执行命令(如果有)?

Cam*_*tin 34 windows monitoring filesystems

LinuxMac也有类似的问题,但我在这里寻求Windows 解决方案。

问题如下:我想在一个文件夹中编写几个(js)脚本文件,并让一个程序监视该文件夹中的文件更改和添加的新文件,并在发生这种情况时运行命令(将它们全部编译成一个单个文件)。

解决方案必须:

  1. 监视文件夹中的文件更改和添加的新文件。
  2. 当有任何更改时才运行命令。

最好是内置解决方案(如 JScript 或 VBscript 代码段)或不需要安装的解决方案。

小智 14

我在一个名为 Log Monitor 的旧程序上取得了很好的成功。它很古老,很久以前就被遗弃了。但它很好地达到了目的。

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

  • 啊,谢谢。我目前正在尝试[另一个实用程序](http://www.nodesoft.com/foldermonitor),但是+1! (3认同)

小智 8

我为此创建了一个简单的实用程序:https : //github.com/benblamey/when_changed

用法:when_changed(文件路径)(命令)(可选参数)

例如 when_changed C:\somedir\foo.txt myapp.exe bar wibble 123


小智 7

使用 .NET 监视文件夹,这真的很容易编码。我敢肯定有人做过这样的程序。

刚刚为您找到了这个宝石 http://www.guidingtech.com/9861/automate-folder-actions-windows-watch-4-folder/


Cam*_*tin 5

我目前正在尝试这个应用程序,它需要 .NET,但看起来它可以完成这项工作。


dan*_*ans 4

有一个名为 Belvedere 的程序可以解决这个问题。

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

它是一个在后台运行的独立 Windows 应用程序。

我已将其设置为监视我的下载文件夹中是否有具有某些扩展名且最后修改日期为一天的文件。它找到的文件会被删除,但是您可以让它运行一个操作。

  • Belvedere 让我花了几个小时才最终弄清楚它[充满了未解决的错误](https://github.com/mshorts/belvedere/issues),尤其是使用自定义命令时。请尝试改用 [FolderMonitor](http://www.nodesoft.com/foldermonitor)(并在参数字段中使用 `"{0}{1}"`,包括引号)。唯一的问题:您无法为每个文件夹定义单独的命令。全球只有一个。 (4认同)