标题: [网络连接] [已解决]批处理怎样实现at任务延时运行? [打印本页]
作者: sky02 时间: 2011-9-29 17:08 标题: [已解决]批处理怎样实现at任务延时运行?
本帖最后由 sky02 于 2011-9-30 12:22 编辑
局域网内的其它机子,有很多,时间都是不同步的,因为要更新文件,所以是想设置以添加at任务后延时一分钟运行- for /l %%i in (2 1 254) do (at \\192.168.1.%%i %time% start c:\update.exe)
复制代码
能否将这个%time%加上一分钟后运行?
作者: wc726842270 时间: 2011-9-29 23:16
提供两种思路,如果不对请指出,谢谢了
1,用SCHTASK来完成
2。累加法
我的理解是你在任务计划中,每一分种更新一次,最近很懒,见谅
作者: Batcher 时间: 2011-9-29 23:23
回复 2# wc726842270
1、schtasks命令能计算1分钟之后的时间?
2、你理解错了,不是1分钟1次。
作者: wc726842270 时间: 2011-9-29 23:35
回复 3# Batcher
不好意思少打个S
我的意思是用"/mo"达到目的,因为前面以经定义了MINUTE,那么就可以用"/MO"渐渐变大来实现
当然这是建立在理解对的情况下(PS:这个实验做不起,安个虚拟机就要2个小时,唉)
作者: cjiabing 时间: 2011-9-30 00:23
同步时间就不熟悉了,延时呢简单,用ping就可以了。
可能你是说在对方电脑里延时,设置一个msg或bat指定时间就可以了。
其实换个思路,在对方电脑里延时比较麻烦,不如你在自己电脑里设置好时间再执行咯。
作者: sky02 时间: 2011-9-30 10:21
回复 5# cjiabing
比如现在本机是10:30,但是对方的电脑有可能是11:00,也有可能是10:00,如果按照我的电脑时间去执行,那肯定有一台机要在明天才能运行那个任务,而另一台则需要半小时之后才执行
作者: ArdentMan 时间: 2011-9-30 10:40
本帖最后由 ArdentMan 于 2011-9-30 11:15 编辑
先用Net Time取得对方机器的时间再使用At命令- @Echo Off&SetLocal EnableDelayedExpansion
- For /L %%i In (2,1,254) Do (
- For /F "tokens=4-6 delims=: " %%a In ('Net Time \\192.168.1.%%i') Do (
- Set /A m=1%%c%%100+2,h=%%b
- If !m! GEQ 60 Set /A m-=60,h+=1
- If "%%a" EQU "下午" (
- Set /A h+=12
- If !h! GEQ 24 Set /A h-=24
- )
- If !m! LSS 10 Set "m=0!m!"
- If !h! LSS 10 Set "h= !h!"
- At \\192.168.1.%%i !h!:!m!:00.00 Start c:\update.exe
- )
- )
复制代码
作者: Batcher 时间: 2011-9-30 12:10
回复 6# sky02
设置一台机器作为时间服务器,让其他机器都来用它同步时间。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |