windows - 更改服务登录 - 密码中的空格字符
问题描述
我正在尝试使用批处理文件更改 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
,但得到了同样的错误......