每隔X分钟在cmd中执行一个命令。怎么样?

时间:2014-07-21 14:00:58

标签: windows batch-file cmd

我有两个.bat个文件:

startserver.bat

@Echo off
java -Xms2048M -Xmx2048M -jar minecraft_server.14w21b.jar -d64

backup.bat

SET COUNTER=0  
:loop  
SET /a COUNTER=%COUNTER%+1  
XCOPY "Lagg3dcraft\*" "c:\Users\Jon\Google Drive\MINECRAFT  
SERVER\Lagg3dcraft(backups)\server_backup_%COUNTER%" /i /s  
PING 1.1.1.1 -n 1 -w 900000 > NUL  
goto loop
  1. 我想在每次启动backup.bat时启动startserver.bat文件。

  2. 我希望每隔X分钟startserver.bat执行此命令/say Server Saved

2 个答案:

答案 0 :(得分:0)

在startserver.bat中,您可以在启动服务器之前添加start backup.bat

之后它会变得更复杂,因为bat文件在启动服务器后会停止(等到它完成服务器,这非常不方便),解决这个问题的最简单方法可能是获得一个可以插件的插件每隔x分钟/say Server Saved

答案 1 :(得分:0)

获取一个像sleep.exe这样的睡眠工具。可以下载一个here

你可以像这样使用它:

:loop
... do something ...
sleep 60  ## 60 seconds / 1 min.
goto loop

这也是可能的,但你必须启用延迟扩展才能让变量快速扩展!!

for /l %%a in (,,) do (
    ... do something ...
    sleep 60
)