我想从命令行更改服务可执行文件的路径。
我怎样才能做到这一点?
我想从该服务的路径运行另一个 .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
上面提供的答案很有效,我无法回复,但补充一下,如果您需要在路径中使用引号或其他参数,比如修复注册表中未加引号的路径漏洞,如图像路径,您可以执行以下操作来自CMD作为管理员:
(例如 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"