2 weixin 40107449 weixin_40107449 于 2017.09.05 10:23 提问

cmd命令参数中带空格,加双引号也无用,请问怎么办?

有一个.cmd文件是由程序自动生成的,但是有些电脑可以执行该.cmd,有些电不能执行,经过定位发现问题出现在以下语句,(简化举例)

sc create TS DisplayName= "Test Service" binPath= "C:/windows/system32/cmd.exe"。

该语句在别人的电脑能成功执行,但在我的电脑执行结果却如图:
图片说明

于是我对语句做了调整:

当把该命令中"Test Service" 中的空格去掉后可以执行成功。

sc create TS DisplayName= "TestService" binPath= "C:/windows/system32/cmd.exe"

或者改成

sc create TS DisplayName= **"\"Test Service\"" **binPath= "C:/windows/system32/cmd.exe"

即可执行。

但问题是,该.cmd是由软件自动生成并且自动执行的,所以不能通过手动调整的方式来执行,而且别人的电脑都能够正常执行,而我的电脑需要作以上的调整才能执行,能否调整某些参数来让cmd工具正常执行该软件自动生成的命令语句呢?请问是什么原因造成的了这种语句解析的差异呢?

1个回答

shen_wei
shen_wei   Ds   Rxr 2017.09.05 15:26

C:/windows/system32/cmd.exe
C:\Windows\SysWOW64\cmd.exe

判断系统的位数在决定调用那个cmd.exe 试试。。。

Csdn user default icon
上传中...
上传图片
插入图片