批处理+计划任务 能解决这个简单的问题吗?

来源:百度知道 编辑:UC知道 时间:2024/06/27 23:07:25
我架设CS服务器(服务器的电脑不在身边),有时候出现fatal error的筐服务器就挂了。
首先需要自己手动点击fatal error筐的“确定”,再启动服务器。

请问有没这样的批处理?出现fatal error筐后自动点击“确定”?

这类程序应该有,但是我想简单的处理。
hackate谢谢你!
我大概看懂你的意思了,不过是先开你的批处理还是服务器?因为我发现有时候会失灵?
你可以不需要写运行我服务器的句子了,因为我还有一个是用来运行的,(下面)你能不能把这2个合成一个批处理,或者直接关掉错误的筐就可以了,因为那个筐如果没有了,下面这个批处理会运行服务器。
@echo off
:loop
start/high/wait hlds.exe -game cstrike +servercfgfile server.cfg -port 27015 +maxplayers 20 +map de_dust2 +sv_lan 0 -noipx -console
goto loop

@echo off

:tk
ping -n 60 127.0.1>nul
tasklist /FI "WINDOWTITLE eq Fatal error*"|find /i "你运行的这个程序名字(可以进程里查看运行后进程的名字.exe">nul

if %errorlevel%==0 (
taskkill /f /FI "WINDOWTITLE eq Fatal error*">nul
taskkill /f /im "你的那个程序名字.exe">nul
start "" "你的那个程序名字.exe"
)
goto:tk

现在已经加上了>nul把关进程,查看进程的信息屏蔽输出了,不好意思,刚才写代码太过冲忙啦.

==============
其实代码也是比较简单的,流程如下:
应该先开你的那个程序,再开批处理,因为这不影响什么问题.
程序流程是这样的,就是你说的60秒也就是一分钟检查进程中是否有弹出fatal error这个弹出的错误窗口,如果有检测到的话呢,就把这个窗口关闭,然后关闭你的这个程序,然后再打开你的这个程序,因为这个是你的要求吧..
然后在循环检测....
一般一个循环过程就是一分钟左右.里面的60你可以自行修改中间间隔时间的..

那你就得在进程中判断 fatal error的出现后 按确定