1

的命令外壳空间,如果我执行无法逃脱在Windows

cmd /c "%programfiles%\mycode\md5sums.exe" %temp%

它工作得很好。但是,当我执行

cmd /c "%programfiles%\mycode\md5sums.exe" %programfiles%

我得到以下错误 -

Error: Unable to read file/directory C:\Program

这意味着md5sums.exe试图打开C:\Program,而不是由%PROGRAMFILES%给予了充分的路径

我必须使用cmd /c,因为我必须远程运行此命令。

如何让它工作? 我试过使用`“%programfiles%”,但在这种情况下,即使md5sums.exe没有得到执行。

最后,我想用开关“/ B”,由md5sums.exe但在这个时间点,我被困在即使进行MD5SUMS提供%PROGRAMFILES%运行

+0

我只是做它用 '“CMD/C ”携手%PROGRAMFILES%\ mycode的\ md5sums.exe“ %programfiles%“' 现在..我坚持如何应用'/ b'开关到md5sums.exe? – user837208

+0

对不起...我的意思是我应该如何添加'-b'开关? – user837208

+0

将它作为'/ c'两个现有参数之间的另一个参数添加,例如'cmd/c“md5sum”“-b”“%programfiles%”' – Sorpigal

回答

4

尝试:

cmd /c "%programfiles%\mycode\md5sums.exe" "%programfiles%" 
              ^--------------^--quotes added 

否则,你最终的东西,如:

cmd /c "C:\Program Files\mycode\md5sums.exe" C:\Program Files 

,并最终传递两个参数来MD5SUMS,不是一个单一的路径。

0

你需要一个双重双引号开始和结束 如:

cmd /c ""%programfiles%\mycode\md5sums.exe" "%programfiles%""