更改服务登录-密码中的空格字符

时间:2019-04-17 12:50:53

标签: windows batch-file service cmd

我正在尝试使用批处理文件在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失败1069:   该服务由于登录失败而无法启动。

如果我手动更改密码,则可以重新启动该服务,因此我认为这与密码中的空格字符有关,我使用的密码是: Pa$$w0rd < / strong>。 我已经阅读了一些答案(Batch character escapingSpecial Characters in Batch File),但似乎$没有转义字符。

您能帮我找到$的转义字符还是指出我的错误?

谢谢!

更新

按照命令中的建议,我尝试将password变量设置如下:

@set "user_password=Pa$$w0rd"

,然后在sc config上使用带双引号的变量,但出现相同的错误...

0 个答案:

没有答案