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


32

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

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

解决方案必须:

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

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


有关某些Windows应用程序,请参见此博客
维杰2014年

Answers:


3

有一个叫做Belvedere的程序可以解决这个问题。

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

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

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


哇-看起来很棒。我会选择这个作为答案(即使我已经从另一个人那里得到了我的需要),因为对于其他人(可能是将来的我),它可能比我正在使用的那个更加有用和通用。 。+1并被接受!
卡米洛·马丁

2
丽城(Belvedere)使我浪费了数小时才最终弄清它充满了未解决的错误,尤其是使用自定义命令时。请尝试使用FolderMonitor(并"{0}{1}"在参数字段中使用,包括引号)。唯一的问题:您不能为每个文件夹定义单独的命令。全球范围内只有一个。
弗雷坎特

@ bfred.it Belvedere确实有问题,但对我有用。FolderMonitor看起来也是一个很好的解决方案。我认为这是用户提出该问题的最终结果
dangowans 2014年





2

这是一个非常普遍的要求,令我惊讶的是,操作系统本身没有内置方便的实用程序。

无论如何,如前所述,我过去已成功使用LogMonitor。但是,我发现此博客文章内容丰富,并且正在使用Watch 4 Folder

希望这可以帮助您。


+1,但对于我们开发人员以外的任何人来说,这都不是“共同要求” ...因此,有系统调用来监视文件系统,因此我认为这是“ OS集成”。
卡米洛·马丁

1
好吧,我从企业和网络共享的角度来看过它。您总是想知道文件丢失时要归咎于谁:P。我现在正在诊断这种情况:/
Vijay 2014年


2

如果要使用JScript或VBScript进行内置解决方案,则要查找的是使用WMI事件订阅进行文件系统监视。基本上,您编写代码来监视文件夹并在检测到更改时执行操作,例如:

  • __InstanceCreationEvent
  • __InstanceDeletionEvent
  • __InstanceModificationEvent

...并且您的脚本每隔一段时间运行一次,以监视这些事件的发生。有很多资源,但是这里有一些有关VBScript和Powershell的资源:


1

NirSoft具有用于在Windows
FolderChangesView 上监视文件更改的软件

FolderChangesView是一个简单的工具,可以监视您选择的文件夹或磁盘驱动器,并列出在监视文件夹时被修改,创建或删除的每个文件名。您可以将FolderChangesView与任何本地磁盘驱动器或远程网络共享一起使用,只要您具有对所选文件夹的读取权限即可。

在此处输入图片说明

您可以从这里免费下载。
更多信息


看来,信息/调试工具比自动化工具更多,但仍然很有趣。
卡米洛·马丁

0

您可以使用http://jnotify.sourceforge.net/订阅特定于os的文件系统监视事件。该代码已经存在多年了,但仍然可以运行(至少在昨天我测试过的Windows Server 2013r2上)。

https://github.com/redbooth/jnotify上还有jnotify项目的github复活,它不提供独立的演示应用程序,但(根据提交日志)修补了一些错误。

在java7中,也应该有某种类似于inotify的文件系统监视程序,但是我尚未对其进行测试。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.