[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[日期时间] [已解决]win7下批处理如何实现每50秒返回时间来固定时间? 以及关闭文件后自动校时

本帖最后由 hao009 于 2013-11-13 11:13 编辑
  1. @echo off
  2. :a
  3. time 15:30                           
  4. ping -n 50 127.0.0.1>nu
  5. goto a
  6. exit
复制代码
在XP下这么做可以固定系统时间在某一分钟,但win7下不行,提示错误代码,该怎么写?
我想这么做,先固定时间在某一分钟,每50秒自动调回时间,关闭bat窗口时自动校时,返回北京时间。
或者固定时间在某一分钟,启动一个exe文件,每50秒自动调回时间,退出软件自动校时,或关闭bat窗口时自动校时,返回北京时间。
有没有朋友可以写一下代码? 谢谢。
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

win7下有自带timeout更好

TOP

本帖最后由 hao009 于 2013-11-12 10:28 编辑

:a
date 2013-11-11
time 9:50
TIMEOUT /T 50
goto a

是这样写吗?
XP下可以用,我把timeout拷贝到c:\windows\system32下了,但win7下把bat文件和time.exe放一个目录下运行才行.
怎么样再加上启动文件命令,启动这个文件在这个循环范围内,并退出这个文件时自动校时。

TOP

你在XP下关闭CMD窗口后是怎么自动触发自动校时的?

TOP

本帖最后由 hao009 于 2013-11-13 11:10 编辑

正研究这个问题呢,我计划在bat文件结尾加上自动校时代码,现在是可以
time 10:10
start 1.exe
a:
time 10:10
TIMEOUT /T 50
goto a

这样来先设置指定时间,再启动文件,再设置时间固定在某一分钟,现在是不清楚怎么让软件关闭时bat文件进行下一步,就是网络校时代码,而不是继续固定时间,每50秒循环一次。

TOP

如果用批处理至少要用开两个窗口
1.bat用start /wait调用2.bat,关闭2.bat后1.bat继续运行.

TOP

,

本帖最后由 hao009 于 2013-11-13 11:11 编辑

那wait怎么使用?
time 10:10
start 1.exe
a:
time 10:10
TIMEOUT /T 50
goto a
wait 2.bat
这样好像不行,不能在关闭1.exe后自动进行2.bat,
我这是重复运行timeout,让时间固定在一分钟内,不是延迟时间,所以wait是不是不行吧

TOP

回复 7# hao009


    他说的不是 wait 命令,而是 start 命令的 /wait 选项。

TOP

  1. @echo off
  2. (echo,time 10:10
  3. echo,:a
  4. echo,time 10:10
  5. echo,TIMEOUT /T 50
  6. echo,goto a)>2.cmd
  7. echo,N|start /WAIT "" "2.cmd"
  8. cls
  9. echo,继续运行的代码...
  10. pause
复制代码
关于网络校时,可以看看这个贴子。
http://www.bathome.net/viewthrea ... hlight=%D0%A3%CA%B1

TOP

本帖最后由 hao009 于 2013-11-12 15:35 编辑

谢谢,这些代码可以关闭程序后自动进行下一步了,但不知道是不是哪里不对,固定时间不起作用,每50秒自动回调没生效。
再我把代码里2.cmd改为1.exe,就是一般软件的启动文件,提示16 bit MS-DOS Subsystem,无法启动程序,在xp和win7x32都试过了。

TOP

再试试这个可以回调时间吗?我在XP上测试可以
  1. @echo off
  2. (echo,@echo off
  3. echo,:a
  4. echo,time 10:10
  5. echo,ping /n 50 127.1^>nul
  6. echo,goto a)>2.cmd
  7. echo,N|start /WAIT "" "2.cmd"
  8. cls
  9. echo,继续运行的代码...
  10. pause
复制代码
1.exe双击可以运行吗?如果只是在命令行里不行,
试试改成
  1. start /WAIT /SEPARATE "" "1.exe"
复制代码
  1. start /WAIT /SHARED "" "1.exe"
复制代码

TOP

我试了,@echo off

(echo,@echo off

echo,:a

echo,time 10:10

echo,ping /n 50 127.1^>nul

echo,goto a)>2.cmd
使用它,不出现时间固定,时间也没有修改。
加上echo,N|start /WAIT "" "2.cmd"
cls
文件启动不了,提示16位程序,XP和win7都是这么提示的。

TOP

感觉是1-6行代码有问题,我单独用echo,N|start /WAIT "" "2.cmd"
start /WAIT /SEPARATE "" "1.exe"
start /WAIT /SHARED "" "1.exe"
这3个都可以启动软件,但和前6行一组合,就不能用了,提示16位程序,然后7M的exe文件被减少为1K大了。
这个exe文件是双击可以直接打开软件的。

TOP

你是不是把第6行的 echo,goto a)>2.cmd 也改成了 echo,goto a)>1.exe
这里不能改,否则会把你的exe替换.

TOP

原来是第6行我改错的问题,谢谢,现在可以启动1.exe了,但目前时间循环还是不起作用。

TOP

返回列表