批处理文件问题关于find

发布网友

我来回答

2个回答

热心网友

net start | find /i "SQL Server (MSSQLSERVER)" && net stop mssqlserver || net start mssqlserver

这句代码本身有逻辑错误,首先这句代码net start 是找出“已经启动 的Windows 服务:”,然后再启动的服务中找SQL Server (MSSQLSERVER)服务,找到了就停止 mssqlserver服务,停止失败又打开mssqlserver(但这服务本身就是开启的又何必打开)。

net start | find /i "SQL Server (MSSQLSERVER)" && net stop mssqlserver & exit
net start | find /i "SQL Server (MSSQLSERVER)" || net start mssqlserver
改成这样才能有实际的功能:找到则停止,没找到则打开追问多谢指教,我不懂批处理的写法。&&之后的||不应该是或者的意思么。
按照你新给出的写法,&&和||分别是什么意思呢。还请再指点一下,谢谢。

追答&& 前面一条语句执行成功则执行下一条语句
|| 前面一条语句执行失败则执行下一条语句
这是很基本的批处理知识,建议你先看写批处理的基础教程。

热心网友

因为前面的代码意思是找到服务后执行第一条命令,
这个符号的意思(||)
找不到才执行后面的。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com