首页 > 解决方案 > 更改服务登录 - 密码中的空格字符

问题描述

我正在尝试使用批处理文件更改 Windows 10 上的某些服务登录。

我的代码是:

set service_name="some service"
set user_password=Pa$$w0rd

@echo stop %service_name%
sc stop %service_name%
timeout 5
@echo Config %service_name%
sc config %service_name% type= own obj= "%userdomain%\%USERNAME%" password= %user_password%
timeout 5
@echo Start %service_name%
sc start %service_name%

我成功地停止并更改了服务(输出:)[SC] ChangeServiceConfig SUCCESS ,但是当我尝试重新启动服务时,我收到了这个错误:

[SC] StartService FAILED 1069:由于登录失败,服务未启动。

如果我手动更改密码,我可以重新启动服务,所以我认为这与我密码中的空格字符有关,我使用的密码是:Pa$$w0rd. 我已经阅读了一些答案(批处理字符转义批处理文件中的特殊字符),但似乎没有转义字符$

你能帮我找到转义字符$或指出我的错误吗?

谢谢!

更新:

正如命令中所建议的,我尝试将密码变量设置如下:

@set "user_password=Pa$$w0rd"

然后在 上使用带有双引号的变量sc config,但得到了同样的错误......

标签: windowsbatch-fileservicecmd

解决方案


推荐阅读