运行工具不起作用

时间:2014-11-16 06:49:28

标签: windows shellexecute

当我使用Windows Run工具用参数调用我的exe时,它运行正常 我在下面做了 cmd.exe / C“C:\ ex \ abc.exe”skk 然后我的exe得到一击,我得到skk作为一个论点。我做了我 cmd.exe / C“C:\ ex \ abc.exe”“sk k”然后我的exe不会调用。为什么? 但同样的事情在cmd行中运行良好 “C:\ ex \ abc.exe”“sk k”

1 个答案:

答案 0 :(得分:2)

这是设计

如果在/ C开关后出现两个以上的引号字符,那么“行为是看第一个字符是否是引号字符,如果是,则删除前导字符并删除命令行中的最后一个引号字符,在最后一个引号字符后保留任何文本。“,除非满足以下条件:

  • 否/ S开关
  • 正好两个引号字符
  • 两个引号字符之间没有特殊字符,其中special是以下之一:&<>()@ ^ |
  • 两个引号字符之间有一个或多个空格字符
  • 两个引号字符之间的字符串是可执行文件的名称。

所以,当你这样做时

cmd.exe /C "C:\ex\abc.exe" "sk k"

它正在尝试执行

C:\ex\abc.exe" "sk k
显然,这不起作用。如果要使用包含空格的参数运行exe,请尝试

cmd.exe /C C:\ex\abc.exe "sk k"

或者将整个命令用双引号括起来:

cmd.exe /C ""C:\New Folder\abc.exe" "sk k""