批处理文件中的find返回值
netstart>service.txtfind/iservice.txt"SQLServer(MSSQLSERVER)"iferrorlevel1gotostartif...
net start >service.txt
find /i service.txt "SQL Server (MSSQLSERVER)"
if errorlevel 1 goto start
if errorlevel 0 goto stop
:start
net start MSSQLSERVER
goto success
:stop
net stop MSSQLSERVER
goto end
:success
::net start
@echo 服务开启成功,按任意键结束!
:end
del "service.txt"
小弟不明白,1应该是代表有,0是没找到。可以上代码在我看来是相反。请大神给我解释一下。谢谢! 展开
find /i service.txt "SQL Server (MSSQLSERVER)"
if errorlevel 1 goto start
if errorlevel 0 goto stop
:start
net start MSSQLSERVER
goto success
:stop
net stop MSSQLSERVER
goto end
:success
::net start
@echo 服务开启成功,按任意键结束!
:end
del "service.txt"
小弟不明白,1应该是代表有,0是没找到。可以上代码在我看来是相反。请大神给我解释一下。谢谢! 展开
若以下回答无法解决问题,邀请你更新回答
展开全部
errorlevel 错误=1,就是有错误,也就是find语句出现的错误,就是没找到
反之就是找到。
反之就是找到。
追问
再请问一句啊。判定某服务是否开启,还有别的办法么?
追答
net start >service.txt
find /i service.txt "SQL Server (MSSQLSERVER)"
if errorlevel 1 goto start
if errorlevel 0 goto stop
把这4句话写成一句
net start | find /i "SQL Server (MSSQLSERVER)" &&goto start || goto stop
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询