2016-01-23 170 views
0

如果“Unturned.exe”未运行至start "" /b "C:\Users\Administrator\Desktop\1.lnk",然后处于空闲状态并扫描并等待其再次关闭,我需要一个批处理文件,以使其保持运行状态。就像循环中一样。游戏服务器批处理文件

这就是我现在正在使用的内容,但是这和服务器之间没有任何沟通,让人们知道它即将重新启动。我现在只运行1台服务器。

@echo off 
cls 
color B 


:loop 

echo =========================================================== 
echo =========================================================== 
echo ======== UNTURNED SERVER RESTART SCRIPT By FATBOI ========= 
echo =========================================================== 
echo =========================================================== 

@timeout /T 1 /nobreak >NUL 
echo =========================================================== 
echo Killing all servers for restart... 
echo =========================================================== 

@timeout /T 1 /nobreak >NUL 
taskkill /f /im Unturned.exe 
echo =========================================================== 
echo All servers have been killed 
echo =========================================================== 

echo =========================================================== 
echo Servers starting... 
echo =========================================================== 
start "" /b "C:\Users\Administrator\Desktop\1.lnk" 
@timeout /T 30 /nobreak >NUL 


cls 

echo =========================================================== 
echo =========================================================== 
echo ===== UNTURNED SERVER RESTART SCRIPT By JoeCooper2015 ===== 
echo =========================================================== 
echo ==================Server Restart Time====================== 
echo =========================================================== 
time /T 
echo =========================================================== 
echo =========================================================== 

REM Every 4 hours kill and start servers. note 1H = 3600 seconds 
REM use timeout then goto loop 
@timeout /T 3600 /nobreak 

goto loop 

回答

0
:MyLabel 
start "" /w Mygame.exe 
Goto MyLabel 

很简单。

这是如何做到这一点的VBS

Set WshShell = WScript.CreateObject("WScript.Shell") 
Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2") 
Set objEvents = objWMIService.ExecNotificationQuery _ 
    ("SELECT * FROM Win32_ProcessStopTrace") 

Do 
    Set objReceivedEvent = objEvents.NextEvent 
    msgbox objReceivedEvent.ProcessName 
    If lcase(objReceivedEvent.ProcessName) = lcase("Notepad.exe") then 
     Msgbox "Process exited with exit code " & objReceivedEvent.ExitStatus 
     WshShell.Run "c:\Windows\notepad.exe", 1, false 
    End If 
Loop 
相关问题