[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]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

第9行echo,ping /n 5这个数字你自己改

TOP

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

谢谢,现在全都好用了。

TOP

  1. @echo off
  2. time 8:30
  3. start "" "1.exe"
  4. (echo,@echo off
  5. echo,:a
  6. echo,echo,时间循环...并检测1.exe是否运行,否则自动退出。
  7. echo,tasklist/nh^|find "1.exe"^>nul ^|^| exit
  8. echo,time 8:30
  9. echo,ping /n 5 127.1^>nul ^& goto a )>2.cmd
  10. echo,N|start /WAIT "" "2.cmd"
  11. cls
  12. echo,继续运行的代码...
  13. pause
复制代码
1

评分人数

TOP

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

time 8:30,就是说,1.exe只能在这一分钟内运行,不能超过一分钟,所以先修改系统时间,启动软件,再时间循环,或先时间循环,启动软件。
关闭软件,然后关闭时间循环,剩下的窗口进行下一步,校时。
目前是希望在关闭软件后,时间循环窗口自动关闭,因为我在测试时,好几次误关了另一个窗口,时间循环的最后关了,那就无法校时了。

TOP

1.exe是否运行后要等它结束再继续运行别的命令,和时间循环的先后顺序怎样?

TOP

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

我现在这么写代码,start 1.exe加在第三行,启动时出2个dos窗口,并启动软件,成功了。
但关闭软件,再关闭时间循环的窗口很容易关错另一个窗口,无法进行下一步的自动校时,有没有好办法关闭软件时自动关闭时间循环的窗口? 请再指点下,谢谢。

TOP

我知道原因了,第6行和第7行的2.cmd都不能修改,然后会同时开2个dos窗口,其中一个会有时间循环。
那我想运行1.exe应该在哪里加它?

TOP

不知道你那是怎么回事,我XP和WIN7上都测试能回调时间.

TOP

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

TOP

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

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

我试了,@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

再试试这个可以回调时间吗?我在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

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

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

TOP

返回列表