Answers:
您可以使用sc config
命令更改服务指向的路径:
SC CONFIG YourServiceName binPath= "C:\SomeDirectory\YourFile.EXE"
这将更新称为的服务YourServiceName
,并将“可执行路径路径”条目更改为C:\SomeDirectory\YourFile.EXE
。之后,您将需要重新启动服务,您可以执行以下操作:
NET STOP YourServiceName & NET START YourServiceName
Path to executable
还包含引号和其他参数时该怎么办?例如:"C:\Program Files\CollabNet\Subversion Server\svnserve.exe" --service -r "E:\Repositories" --listen-port "3690"
可悲的是,我不得不为此而去注册。
您将需要在注册表中执行以下操作:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services
导航到服务,然后修改图像名称以反映新路径
与往常一样,请先备份系统。
您也可以使用PowerShell执行此操作:
Get-WmiObject win32_service -filter "Name='My Service'" `
| Invoke-WmiMethod -Name Change `
-ArgumentList @($null,$null,$null,$null,$null, `
"C:\Program Files (x86)\My Service\NewName.EXE")
要么:
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Services\My Service" `
-Name ImagePath -Value "C:\Program Files (x86)\My Service\NewName.EXE"
上面提供的答案很好用,我无法回答,但总之,如果您需要在路径中使用引号或其他参数,请说要修复注册表中未引用的路径漏洞(例如imagepath),可以从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"
...血腥参数和转义参数是一场噩梦!希望这对以后的人有所帮助。
您不能直接编辑路径以执行服务。为此,您可以使用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"