获取Windows的services.msc的服务名的执行exe的文件路径

如何获取Windows中的系统某个服务的exe的执行文件夹路径。首先要设置服务的名称,同时要设置对应的exe执行文件的名称。根据sc qc serviceName 可以得到信息文本,从而解析对应的文本就可以得到相对应的服务执行文件的绝对路径信息,进而根据当前路径信息执行与程序相关的操作。

@echo off
set serviceName=QPCore
set executeExe=QQProtect.exe
setlocal EnableDelayedExpansion
for /f "delims=" %%a in ('sc qc %serviceName% ^| findstr "\<BINARY_PATH_NAME"') do (
       set "BINARY_PATH_NAME=%%a"
       set "BINARY_PATH_NAME=!BINARY_PATH_NAME:        BINARY_PATH_NAME   : =!"
)
set "BINARY_PATH_NAME_STR=!BINARY_PATH_NAME:%executeExe%=*!"
for /f "delims=^*" %%b in ('echo %BINARY_PATH_NAME_STR%') do (
	set "BINARY_PATH_NAME_STR=%%b"
)
echo %BINARY_PATH_NAME_STR%|findstr '^"' >nul
if %errorlevel% equ 0 (
set BINARY_PATH_NAME_STR="%BINARY_PATH_NAME_STR:"=%"
) 
echo %BINARY_PATH_NAME_STR%
pause

Windows服务名“QPCore”,执行得到的绝对路径的数据结果如下所示:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章