引用没有关闭文件路径?

时间:2017-05-10 14:06:01

标签: powershell

我的程序安装了部分SQL Server。这行代码调用setup exe文件。现在,似乎它正在绊倒文件路径中的空间。

这是我的代码:

cmd /c "\\dcsrv1\Software\SQL 2014 Installs\SQL 2014 Unpacked\setup.exe" /configurationfile="\\dcsrv1\Software\SQL 2014 Installs\SQL 2014 Unpacked\Tools\Tools_Original.ini" /IACCEPTSQLSERVERLICENSETERMS

这是错误:

'\\dcsrv1\Software\SQL' is not recognized as an internal or external command,
operable program or batch file.

我尝试将文件路径放在单引号和双引号中,两者都具有相同的结果。我在stackoverflow上看到另一个问题,试着试试'&'在路径之前,但我只是遇到了语法错误。

有一件事是有效的,如果我在本地安装文件(而不是像现在这样在服务器上),我会cd到目录然后cmd /c setup.exe。不幸的是我必须使用网络文件,我只是觉得这很有趣。

有没有办法将目录更改为网络目录?据我所知,这是不可能的。

1 个答案:

答案 0 :(得分:2)

我倾向于使用echo args来查看args传递给命令行的内容。见https://chocolatey.org/packages/echoargs

echoargs "\\dcsrv1\Software\SQL 2014 Installs\SQL 2014 Unpacked\setup.exe" /configurationfile="\\dcsrv1\Software\SQL 2014 Installs\SQL 2014 Unpacked\Tools\Tools_Original.ini" /IACCEPTSQLSERVERLICENSETERMS

这是你所期望的吗?

PS > echoargs "\\dcsrv1\Software\SQL 2014 Installs\SQL 2014 Unpacked\setup.exe" /configurationfile="\\dcsrv1\Software\SQL 2014 Installs\SQL 2014 Unpacked\Tools\Tools_Original.ini" /IACCEPTSQLSERVERLICENSETERMS
Arg 0 is <\\dcsrv1\Software\SQL 2014 Installs\SQL 2014 Unpacked\setup.exe>
Arg 1 is </configurationfile=\\dcsrv1\Software\SQL 2014 Installs\SQL 2014 Unpacked\Tools\Tools_Original.ini>
Arg 2 is </IACCEPTSQLSERVERLICENSETERMS>

我不知道你是否会更好地使用呼叫运算符,而不是炮轰到cmd,我通常会这样做。祝你好运......

& "\\dcsrv1\Software\SQL 2014 Installs\SQL 2014 Unpacked\setup.exe" /configurationfile="\\dcsrv1\Software\SQL 2014 Installs\SQL 2014 Unpacked\Tools\Tools_Original.ini" /IACCEPTSQLSERVERLICENSETERMS