我需要列出具有特殊名称和索引及其自动启动状态的所有服务。我的想法是使用批处理和sc查询之类的东西,但这并没有给我所需的信息。
这是我试过的
sc query service
sc query service2
sc query service3
pause
哪个命令适合列出服务的开始设置?
我宁愿使用powershell,因为sc query
默认情况下不显示启动类型:
要按显示名称查看启动类型,请打开cmd.exe
并键入(或粘贴):
powershell "Get-Service | select -property displayname,starttype"
或按实际服务名称:
powershell "Get-Service | select -property name,starttype"
或者您可以通过创建文件并为其提供.ps1
扩展并添加以下内容来创建powershell脚本:
Get-Service | select -property name,starttype
或者如果您真的想使用批处理文件,只需使用.cmd
或.bat
扩展名创建批处理文件并添加:
powershell "Get-Service | select -property name,starttype"
但是,如果你真的决心使用批处理,你可以运行这个运行2 for for循环,一个运行获得所有服务,第二个运行每个运行的启动类型。 set
只是为了清理一些不需要的物品。
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1,2 delims=:" %%i in ('sc query ^|findstr "SERVICE_NAME"') do (
set serv=%%j
set serv=!serv: =!
for /f "tokens=1,2 delims=:" %%a in ('sc qc !serv! ^| findstr "START_TYPE"') do set type=%%b
set type=!type: =!
set type=!type:1=!
set type=!type:2=!
set type=!type:3=!
echo !serv! : !type!
)