SERVICE_NAME: W3SVC
TYPE : 20 WIN32_SHARE_PROCESS
START_TYPE : 2 AUTO_START
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : C:\Windows\system32\svchost.exe -k iissvcs
LOAD_ORDER_GROUP :
TAG : 0
DISPLAY_NAME : World Wide Web Publishing Service
DEPENDENCIES : WAS
: HTTP
SERVICE_START_NAME : **LocalSystem**
现在我想在变量中设置这个标记值并检查它并继续故事...... 我已达到此代码,但我无法检查数组值,然后更改服务信息:(
@echo off
setlocal EnableDelayedExpansion
set n=0
rem for set result in a array
for /f "delims=" %%a in ('sc qc service name') do (
set /A n+=1
set returnVal[!n!]=%%a
)
rem To show all non-empty lines:
for /F %%i in (1,1,%n%) do echo !returnVal[%%i]!
rem Or:
echo started by : %returnVal[!n!]%
。 。 。 tanx 4你的帮助!
答案 0 :(得分:0)
set "serviceName=dhcp"
set "searchAccount=LocalSystem"
set "replaceAccount=........."
set "password=..........."
sc qc "%serviceName%" ^| find "SERVICE_START_NAME : %searchAccount%" >nul 2>nul
if not errorlevel 1 (
echo sc config %serviceName% obj= %replaceAccount% password= %password%
)
配置,测试以及输出到控制台是否正确,请删除echo
命令。
答案 1 :(得分:0)
第1部分
for /f "tokens=1*delims==" %a in ('wmic service where "name='W3SVC'" get startname /value') do @for /f "delims=" %c in ("%~b") do @echo "%~c"
第2部分
wmic service where "name='W3SVC'" set startname="NSA FLIGHT COMMANDER"
请注意:Part 2
可能无效,因为service.property
可能是read only
。