这是我正在运行的代码:
RunWait("ComSpec & " /c Start 'D:\Program Files (x86)\Pidgin\pidgin.exe'")
我也尝试过没有半引号和引号,但后来我遇到了语法错误。
答案 0 :(得分:5)
问题是计算机上的文件路径中有空格,需要围绕它进行双引号。
使用双引号从命令提示符处尝试“D:\ Program Files(x86)\ Pidgin \ pidgin.exe”,并确保程序启动。
一旦你知道它的工作原理,就可以将它添加到你的AutoIt代码中(注意它被单引号包围)。
RunWait(@ComSpec & " /c " & '"D:\Program Files (x86)\Pidgin\pidgin.exe"')
答案 1 :(得分:1)
在AutoIt中,只需重复它们就可以转义引号(与批处理/ DOS上相同):
RunWait(@ComSpec & " /c ""Start D:\Program Files (x86)\Pidgin\pidgin.exe""")
答案 2 :(得分:0)
真的不是专家,但看起来代码中的引号数量存在问题
我会尝试这样的事情:
(RunWait(@ComSpec & " /c Start" & "D:\Program Files (x86)\Pidgin\pidgin.exe")
答案 3 :(得分:0)
根据Documentation - FAQ - Double quotes:
如果你想在字符串中使用双引号,那么你必须“加倍”。因此,对于您想要的每一个引用,您应该使用两个。 ...
或使用单引号代替......
示例:
RunWait(@ComSpec & " /c " & """D:\Program Files (x86)\Pidgin\pidgin.exe""")
RunWait(@ComSpec & ' /c ' & '"D:\Program Files (x86)\Pidgin\pidgin.exe"')
但是,不需要“SPECified secondary COMmand interpreter”(或@ComSpec
),也不需要转义双引号。例如:
Global Const $g_sFile = "D:\Program Files (x86)\Pidgin\pidgin.exe"
Run($g_sFile, "")
答案 4 :(得分:-2)
中间有一个不匹配的"
。
通常/或\用于转义。尝试/“或”,因为我不确定哪一个都适用于AutoIt。