标题: [系统相关] 服务查询命令 net start 与 sc query 的疑问 [打印本页]
作者: 不知道是谁 时间: 2017-9-5 13:54 标题: 服务查询命令 net start 与 sc query 的疑问
本帖最后由 不知道是谁 于 2017-9-5 14:00 编辑
net start 与 sc query 都可以查询系统正在运行的服务
还有一个 wmic service 也能达到相同的效果
但是依赖 Windows Management Instrumentation 服务,所以这里不作讨论
sc query 的执行速度是不是比 net start 快?请给出原因。
下面的代码在保留文字的情况下还能再精简、优化或者还有更好、更有效率的判断方式吗?- @echo off
- net start|findstr /i /c:"DHCP Client" >nul&&(
- echo 服务正在运行,按任意键退出. . .
- pause >nul&exit
- )
- echo 正在启动服务. . .
- sc config Dhcp start= auto >nul
- net start Dhcp >nul 2>nul
- if %errorlevel% NEQ 0 (
- echo 服务启动失败,按任意键退出. . .
- pause >nul&exit
- )
复制代码
- @echo off
- sc query Dhcp|findstr /i "RUNNING" >nul&&(
- echo 服务正在运行,按任意键退出. . .
- pause >nul&exit
- )
- echo 正在启动服务. . .
- sc config Dhcp start= auto >nul
- net start Dhcp >nul 2>nul
- if %errorlevel% NEQ 0 (
- echo 服务启动失败,按任意键退出. . .
- pause >nul&exit
- )
复制代码
作者: PS2.0 时间: 2017-9-5 20:31
我这边测试的结果,两个时间差几乎可以忽略吧。- PS C:\Test> gc 1.bat
- net start|findstr /i /c:"DHCP Client"
-
- PS C:\Test> gc 2.bat
- sc query Dhcp|findstr /i "RUNNING"
-
- PS C:\Test> powershell -c "Measure-Command {Start-Process 1.bat -wait}"
-
-
- Days : 0
- Hours : 0
- Minutes : 0
- Seconds : 1
- Milliseconds : 210
- Ticks : 12101183
- TotalDays : 1.40059988425926E-05
- TotalHours : 0.000336143972222222
- TotalMinutes : 0.0201686383333333
- TotalSeconds : 1.2101183
- TotalMilliseconds : 1210.1183
-
-
-
- PS C:\Test> powershell -c "Measure-Command {Start-Process 2.bat -wait}"
-
-
- Days : 0
- Hours : 0
- Minutes : 0
- Seconds : 1
- Milliseconds : 215
- Ticks : 12158731
- TotalDays : 1.40726053240741E-05
- TotalHours : 0.000337742527777778
- TotalMinutes : 0.0202645516666667
- TotalSeconds : 1.2158731
- TotalMilliseconds : 1215.8731
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |