前些天由于实际项目需要,需要给我们项目中的几台工控机设备做时间同步,虽然win自带了同步服务,但没有达到我们项目预期要求。经研究发现采用win的计划任务和bat脚本可以在win实现很多有趣的操作,闲暇之余也分享给大家。
[1]首选编辑一个bat脚本,我这里起名ctime.bat脚本,用于时间同步用的:
@echo off
::通过powershell 实现后台启动命令窗口工具,可用-h参数查看其更多功能
powershell -windowstyle hidden -Command {}
::一次性执行命令集,时间同步服务配置实例
net stop w32time
w32tm /unregister
w32tm /register
net start w32time
w32tm /config /manualpeerlist:time.windows.com /syncfromflags:manual /reliable:yes /update
::每间隔300秒循环执行命令集,时间同步实例
:start_sync
echo '##############定期同步时间#############'
TIMEOUT /T 300 /NOBREAK
echo '等待 300 秒,按 CTRL+C 退出'
w32tm /resync
goto start_sync
[2]创建好脚本,进入管理工具的计划任务界面,创建基本任务
1)添加任务名称和描述
2)触发器选择计算机启动时
3)操作选择执行程序,程序路径选择创建好的脚本
4)完成创建
5)找到刚创建的任务,在其“常规”和“设置”子页面按需要做进一步设置,例如设置使用最高权限运行,不管用户是否登陆,如下:
这样一个简单时间同步脚本实现开机后台启动。
类似地,我采用这种方式实现定期刷出屏保的休息提醒、午饭提醒等等!