
我想從命令列更改服務的可執行檔的路徑。
我怎樣才能做到這一點?
我想從該服務的可執行檔路徑運行另一個 .EXE。
答案1
您可以使用以下sc config
命令變更服務指向的路徑:
SC CONFIG YourServiceName binPath= "C:\SomeDirectory\YourFile.EXE"
這將更新調用的服務YourServiceName
並將“可執行文件的路徑”條目更改為C:\SomeDirectory\YourFile.EXE
.之後您將需要重新啟動您的服務,您可以這樣做:
NET STOP YourServiceName & NET START YourServiceName
答案2
您需要在註冊表中執行此操作:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
導航至該服務,然後修改映像名稱以反映新路徑
與往常一樣,請先對系統進行備份。
答案3
上面提供的答案很好,我無法回复它,但要補充的是,如果您需要在路徑中包含引號或其他參數,例如要修復註冊表中未加引號的路徑漏洞,例如圖像路徑,您可以執行以下操作來自命令作為管理員:
(例如,對於 C:\Program Files (x86)\YourService\YourProcess.exe)
SC CONFIG YourService binPath= "\"C:\Program Files (x86)\YourService\YourProcess.exe\"
你可以執行以下操作來自 powershell作為管理員:
SC.exe CONFIG YourService binPath= --% "\"C:\Program Files (x86)\YourService\YourProcess.exe\"
這些將為您提供以下結果:
"C:\Program Files (x86)\YourService\YourProcess.exe"
……血淋淋的爭論和轉義參數是一場惡夢!希望這對將來的人有幫助。
答案4
您無法直接編輯服務的執行路徑。為此,您可以使用 sc 命令,
以管理員身份開啟命令提示符,然後鍵入以下命令,
SC CONFIG ServiceName binPath= "Path of your file"
例如:
sc config MongoDB binPath="I:\Programming\MongoDB\MongoDB\bin\mongod.exe --config I:\Programming\MongoDB\MongoDB\bin\mongod.cfg --service"