.bat文件 - 重命名特定文件夹中的任何文件时如何启动.bat文件

时间:2016-12-18 16:43:40

标签: batch-file

我希望在重命名位于此处的.bat文件夹中的文件后运行Sources文件:

C:\Users\UserName\Videos\Gameplays\HeroesOfTheStorm\Sources\

.bat文件位于同一Sources文件夹中。

如果不手动双击.bat文件,该怎么办呢?我希望在重命名Sources文件夹中的文件后自动运行。

3 个答案:

答案 0 :(得分:1)

Set WshShell = WScript.CreateObject("WScript.Shell")
Set WMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set MonitoredEvents = WMI.ExecNotificationQuery("SELECT * FROM __InstanceCreationEvent WITHIN 10 WHERE Targetinstance ISA 'CIM_DirectoryContainsFile' and TargetInstance.GroupComponent= 'Win32_Directory.Name=""C:\\\\Users\\\\David Candy""'")
Do
    Wscript.Echo MonitoredEvents.NextEvent.TargetInstance.PartComponent
    WshShell.Run "cmd /c ""C:\folder\batchfile.bat""", 1, false
Loop

请注意在目录名中使用4 \,但在其他任何地方都没有。

它是一个vbs文件。它监视目录,如果重命名或创建该目录中的文件,它将运行命令。 WITHIN 10表示每10秒测试一次。

Set WshShell = WScript.CreateObject("WScript.Shell")
Set WMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set MonitoredEvents = WMI.ExecNotificationQuery("SELECT * FROM __InstanceCreationEvent WITHIN 10 WHERE Targetinstance ISA 'CIM_DirectoryContainsFile' and TargetInstance.GroupComponent= 'Win32_Directory.Name=""C:\\\\Users\\\\David Candy""'")
Do
    WMIPath = Split(MonitoredEvents.NextEvent.TargetInstance.PartComponent, "=")(1)
    FilePath = Replace(WMIPath, "\\", "\")
    WshShell.Run "cmd /k echo File Renamed is " & FilePath & "&" & Filepath
Loop

答案 1 :(得分:0)

好的,您可以使用Windows工具以相当复杂的方式执行此操作。

首先,您需要启用审核。

  • 运行GPEDIT,然后转到:计算机配置 - > Windows设置 - >安全设置 - >本地政策 - >审核政策 - >审核对象访问
  • 启用我猜成功和失败。
  • 现在转到要监控的文件夹,双击并转到:security tab - >高级 - >审核标签
  • 为您的用户(或组或类似的东西)添加一条规则,用于重命名日志(不是重命名事件,但您可以尝试不同的组合,如文件创建,文件删除或读/写你可以找到的属性)
  • 之后,现在如果你进入事件查看器,安全日志,当你选择的操作已经完成时,将会出现一些带有Ids 4565/4663的事件。
  • 最后一件事,打开任务计划程序并创建一个新任务,将激活设置为事件的触发器,并执行将运行bat的操作。

有些术语可能有所不同,我的Windows不是英文的,所以我可能翻译错了。此外,您可能会进行一些测试,看看是否正确设置了所有内容。

另一个选项可能是设置一个小应用程序来监视文件夹并相应地运行bat。你可以用Java或其他语言做这件事。

答案 2 :(得分:0)

使用WatchDirectory()使用AutoHotkey可以轻松实现此目的 https://stackoverflow.com/a/30582696/883015