Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 用于在插入usb时运行文件的批处理sript_Windows_Batch File - Fatal编程技术网

Windows 用于在插入usb时运行文件的批处理sript

Windows 用于在插入usb时运行文件的批处理sript,windows,batch-file,Windows,Batch File,当插入pendrive时,是否有任何批处理脚本可用于运行系统中保存的文件(例如:C:\Program Files\abc.exe) 我的想法是,执行此批处理脚本时,将添加或修改一些注册表项,从而使系统中的文件(本例为:C:\Program Files\abc.exe)在插入pendrive时运行我将添加到SmokeyHP的回答中,即您可以在pendrive上放置一个标识文件。具有唯一名称的东西。按计划运行的脚本可以枚举可用驱动器并查找该文件名。它看起来效率不高,但我不知道有没有添加USB触发器。

当插入pendrive时,是否有任何批处理脚本可用于运行系统中保存的文件(例如:C:\Program Files\abc.exe)


我的想法是,执行此批处理脚本时,将添加或修改一些注册表项,从而使系统中的文件(本例为:C:\Program Files\abc.exe)在插入pendrive时运行

我将添加到SmokeyHP的回答中,即您可以在pendrive上放置一个标识文件。具有唯一名称的东西。按计划运行的脚本可以枚举可用驱动器并查找该文件名。它看起来效率不高,但我不知道有没有添加USB触发器。

这不是一个批处理解决方案,但WMI内置了一些功能,您可以使用这些功能。注意一个类似的问题

在您的情况下,代码是:

$query = "SELECT * FROM Win32_DeviceChangeEvent WHERE EventType = 2"
Register-WMIEvent -Query $query -Action { invoke-item "C:\Program Files\abc.exe"}

如果您需要查找(或筛选)特定的pendrive,则需要做更多的工作。

一个简单的方法是每x秒/分钟运行一次,将驱动器号列表保存到文件中,并查看驱动器号的数量在调用之间是否发生变化。虽然可能有更直接的方法,可能是使用.vbs文件。我假设您禁用了
自动运行
?我是wmi新手,我将上述脚本保存为wmi.vbs并尝试打开它,但它显示以下错误:“行:1;字符:1;错误:无效字符;代码:800A0408;源:Microsoft VB…”,因为它不是VBScript,这是地狱。