[英]How to receive a processes that with name via a batch script
我需要接收名稱等於“MSSQLSERVER”或以“MSSQL$”開頭的進程的字符串。 名稱應以正斜杠 (/) 分隔。 我正在嘗試使用這樣的腳本來做到這一點:
@echo off
set mssqlDependenties=
set defaultSqlServerServiceName="MSSQLSERVER"
set namedSqlServerServiceNameBeginning="MSSQL$"
setlocal enabledelayedexpansion
for /f "tokens=2" %%s in ('sc query state^= all ^| find "SERVICE_NAME: MSSQL"') do (
set serviceName=%%s
if "%%s" equ %defaultSqlServerServiceName% (
set mssqlDependenties=!mssqlDependenties!/%%s
)
if "%serviceName:~0,7%" equ %namedSqlServerServiceNameBeginning% (
set mssqlDependenties=!mssqlDependenties!/%%s
)
)
echo %mssqlDependenties%
但我收到一個錯誤:
The syntax of the command is incorrect.
mssqlDependenties 應包含 MSSQLSERVER/MSSQL$1/MSSQL$2/MSSQL$3 等。
avery_larry 的解決方案非常有效:我改變了
if "%serviceName:~0,7%" equ %namedSqlServerServiceNameBeginning% (
至
if "!serviceName:~0,7!" equ %namedSqlServerServiceNameBeginning% (
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.