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

Windows 每X分钟在cmd中执行一个命令。怎么用?,windows,batch-file,cmd,Windows,Batch File,Cmd,我有两个.bat文件: startserver.bat: @Echo off java -Xms2048M -Xmx2048M -jar minecraft_server.14w21b.jar -d64 SET COUNTER=0 :loop SET /a COUNTER=%COUNTER%+1 XCOPY "Lagg3dcraft\*" "c:\Users\Jon\Google Drive\MINECRAFT SERVER\Lagg3dcraft(backups)\serve

我有两个
.bat
文件:

startserver.bat

@Echo off
java -Xms2048M -Xmx2048M -jar minecraft_server.14w21b.jar -d64
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
backup.bat

@Echo off
java -Xms2048M -Xmx2048M -jar minecraft_server.14w21b.jar -d64
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
  • 我想在每次启动
    startserver.bat
    时启动
    backup.bat
    文件

  • 我希望在
    startserver.bat
    中每隔X分钟执行一次该命令
    /say Server Saved


  • 在startserver.bat中,您只需在启动服务器之前添加
    start backup.bat


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

    获取睡眠工具,如sleep.exe。一个可以下载

    您可以这样使用它:

    :loop
    ... do something ...
    sleep 60  ## 60 seconds / 1 min.
    goto loop
    
    这可能也是可能的,但您必须启用延迟扩展,以便使用
    快速扩展变量

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