我正在寻找一种在建立网络连接时运行脚本的方法(在 Windows 上)。
背景:我正在考虑在汽车后备箱里安装一台低功耗计算机,用于存储很多音频文件,运行亚音速并使用 Android 应用作为“点唱机”控制器,通过计算机声卡将音乐播放到立体声音响的输入端,或通过本地无线电频道将音乐广播到我的汽车音响。当我到家时,它会连接到我家的无线网络,与我的媒体服务器同步以下载它尚未拥有的任何音乐,然后进入休眠状态。
那么我的问题是,当我连接到网络时,如何运行同步?我目前的想法是每 30 分钟左右 ping 一次网关,如果网关可以 ping 通,则运行同步并休眠,如果不能 ping 通,则 30 分钟后再 ping 通。
我更喜欢一些基于 Windows 的技巧,例如基于批处理的文件或 PowerShell,但如果操作系统可以运行 Subsonic,那么我也可能会考虑它。
我可以在车里放很多 CD...但这需要努力记住——我显然不喜欢轻松的生活。
答案1
使用 Windows 任务计划程序。从任务计划程序(Win7 控制面板、管理工具)中,创建一个新任务来指定同步批处理文件。在条件选项卡上,有一个网络选项。检查
“仅当以下网络连接可用时才启动”
以及触发器等中的任何其他条件,以限制同步按照您的需要发生。
答案2
有一种更直接的方法:使用网络连接事件(ID 10000)作为触发器:
这样,每次连接网络时任务就会立即运行。
您可能还想取消选中“条件”选项卡上的“仅当计算机使用交流电源时启动任务”,并在“常规”选项卡上选择“无论用户是否登录都运行”。
谢谢杰德使用任务计划程序的想法。