批处理文件问题关于find
发布网友
发布时间:2022-04-21 02:03
我来回答
共2个回答
热心网友
时间:2022-06-17 06:10
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
改成这样才能有实际的功能:找到则停止,没找到则打开追问多谢指教,我不懂批处理的写法。&&之后的||不应该是或者的意思么。
按照你新给出的写法,&&和||分别是什么意思呢。还请再指点一下,谢谢。
追答&& 前面一条语句执行成功则执行下一条语句
|| 前面一条语句执行失败则执行下一条语句
这是很基本的批处理知识,建议你先看写批处理的基础教程。
热心网友
时间:2022-06-17 06:10
因为前面的代码意思是找到服务后执行第一条命令,
这个符号的意思(||)
找不到才执行后面的。