我希望每次连接到家里的无线网络时都运行一个可执行文件。目的是将笔记本电脑上的文件夹与台式机同步。
当您加入无线网络时,有什么方法可以运行程序或脚本吗?
我正在运行 Windows 7,并且我也很乐意使用可以处理此类任务的程序。
答案1
我也有同样的问题,Darren 的回答是正确的,但没有让我完全明白。以下是我最终做的事情。
首先确定要使用哪个事件来触发任务。运行事件查看器程序并导航到:
Applications and Services Logs > Microsoft > Windows > WLAN-AutoConfig > Operational
就我而言,我不希望我的任务在实际连接到特定 WiFi 网络之前运行,因此我需要的事件 ID 是8001
。基于此事件创建任务的快捷方式是右键单击该事件并选择“将任务附加到此事件...”
在弹出的窗口中,为您的任务起一个巧妙的名字并添加描述,以便您以后能记住它。按照向导操作,选择要运行的程序等,当到达最后一个屏幕时,选中“单击完成时打开此任务的属性对话框”复选框。
此时,当计算机成功连接到任何无线网络。要将其限制为一个特定网络,您必须修改任务以过滤元数据中唯一的内容,例如网络的 SSID。在新任务的属性对话框中,转到“触发器”选项卡并编辑触发器。
现在,记下基本触发器的值。您将切换到自定义触发器,当您这样做时,它将开始为空白,您需要再次填写值。单击“新事件过滤器...”后,通过选择必要的事件日志、事件源并输入事件 ID 来重新创建基本过滤器。
请注意,没有地方可以指定特定事件的元数据(例如无线网络的 SSID)。您需要编辑原始 XML 才能实现这一点,正如我在本文。
要确定需要在事件日志中过滤哪些元数据,请返回事件查看器并单击事件的“详细信息”选项卡。切换到 XML 视图。对于这种特殊情况,相关部分如下所示:
<EventData>
...
<Data Name="SSID">Your WiFi Network</Data>
...
</EventData>
返回“新事件过滤器”对话框,切换到“XML”选项卡并选中“手动编辑查询”旁边的复选框。
回顾上面链接的文章,您会看到需要添加的字符串如下所示:
and *[EventData[Data[@Name='SSID']='Your WiFi Network']]
将其粘贴在</Select>
轰隆隆,大功告成。
需要注意的是,这可能使这更容易,而不是编辑触发器的 XML,您可以在调出任务的属性时切换到“条件”选项卡。这里有一个选项“仅在以下网络连接可用时启动:”,并提供您之前连接到的网络的下拉列表。我怀疑这也会适当地过滤触发器。贾斯汀
答案2
您可以为此使用 Windows 7 任务计划程序。
在“触发器”选项卡下,开始任务
On an event
我没有在笔记本电脑上运行 Windows 7,但我相信事件 ID 可以在Microsoft-Windows-WLAN-自动配置。
在“条件”选项卡下
Start Only if the following network connection is available
,指定您想要的无线网络。
然后调用Actions下的程序。