2014-01-31 65 views
0

到目前爲止,我一直在嘗試做一個連續的.bat文件,將啓動服務器文件,讀取每一行下降,如果響應「服務器已成爲無響應」,那麼蝙蝠將關閉文件,並重新打開(這需要每小時左右完成,我並不總是在電腦上)蝙蝠文件,將讀取服務器文件,然後重新啓動基於服務器文件的輸出

我相信這是正確的代碼但我需要仔細檢查一下技術上的問題,看看它是否正確。

@echo off 

SETLOCAL DisableDelayedExpansion 

FOR /F "usebackq delims=" %%A in (`"findstr rust_server/n ^^ "`) do (
    set "myVar=%%A" 
    call :processLine myVar 
) 
goto :eof 

:processLine 

SETLOCAL EnableDelayedExpansion 
set "line=!%1!" 
set "line=!line:*:=!" 
echo(!line! 

Find /I /V "Unresponsive for 10" 
taskkill /fi "WindowTitle eq rust_server*" 
start /d "C:\Rust Server" rust_server.exe 

ENDLOCAL 
goto :eof 

任何想法/建議將不勝感激。

+0

這個腳本會做的事情 - 它適合你嗎? – unclemeat

回答

0
@Echo off 
Title SERVER RESTARTER (place with your rust_server exe) 
color 1f 
SET n=0 
:Loop 
SET /A n=n+1 
echo Server Restarter 
echo -----Restart Server Batch VERSION----- 
taskkill /IM rust_server.exe 
echo Opening rust_server.exe server again 
rust_server.exe 
if %n% EQU 60 (
exit 
) Else if %n% LEQ 24 (
Goto Loop