獲取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”,執行得到的絕對路徑的數據結果如下所示:

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