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
)