Windows 带有命令行选项的os.execute()

Windows 带有命令行选项的os.execute(),windows,lua,Windows,Lua,问题:如何在Lua中使用三个命令行选项执行操作系统命令 我有一个设备连接到我的电脑(Windows 7,USB电缆,典型的公司) 控制设备的软件位于此处 C:\Program Files (x86)\PowerUSB\ 可执行文件(又名“程序”)的名称是 该程序需要三个由空格分隔的1或0的单位数参数 我打开一个命令提示符框,切换到该目录,并测试了所有8个案例。一切都很好 然后我切换到另一个子目录,并尝试此命令 "C:\Program Files (x86)\PowerUSB\pwrusbcmd

问题:如何在Lua中使用三个命令行选项执行操作系统命令

我有一个设备连接到我的电脑(Windows 7,USB电缆,典型的公司)

控制设备的软件位于此处

C:\Program Files (x86)\PowerUSB\
可执行文件(又名“程序”)的名称是

该程序需要三个由空格分隔的1或0的单位数参数

我打开一个命令提示符框,切换到该目录,并测试了所有8个案例。一切都很好

然后我切换到另一个子目录,并尝试此命令

"C:\Program Files (x86)\PowerUSB\pwrusbcmd" 1 1 1 
这也很有效

所以我想执行该命令的Lua命令应该是

 os.execute("C:\Program Files (x86)\PowerUSB\pwrusbcmd 1 1 1 ")

Lua每次都运行,没有抱怨,但是,设备上没有任何操作

所以我试图改变命令本身的结构,使用
“。”
连接整个字符串的两个部分,如下所示

 os.execute("C:\\Program Files (x86)\\PowerUSB\\pwrusbcmd".." 1 1 1 ")
仍然没有行动

我在StackOverflow上查看,发现

我同情每一位写下这些问题的人。就像用户ID一样,我也试过

  • 方括号
  • 引号(
  • 单反斜杠、双反斜杠和三反斜杠
  • 前斜杠和s(
    /s
到目前为止,我还找不到一种语法结构能起作用

我能自己编造的唯一“修复”(如果有,用词不当)是编写八个不同的MS-DOS bat文件,并给它们唯一的名称。这使得机器事实上无法使用

如何让Lua执行此命令?

C:\Program Files (x86)\PowerUSB\pwrusbcmd 1 1 1
尝试
os.execute([[“C:\ProgramFiles(x86)\PowerUSB\pwrusbcmd”1]])

我相信您的问题是文件路径中的空格


我知道您说您使用了方括号,但我看不出您使用了方括号的组合。这对我很有用。

您忘了在命令名周围添加双引号,最简单的方法是使用单引号字符串:

os.execute('"C:\\Program Files (x86)\\PowerUSB\\pwrusbcmd" 1 1 1')

好的,余浩用了一句话来概括整个内容,而你用了两个方括号。这是在或其他地方记录的吗?如果你能指给我看,谢谢。
C:\Program Files (x86)\PowerUSB\pwrusbcmd 1 1 1
os.execute('"C:\\Program Files (x86)\\PowerUSB\\pwrusbcmd" 1 1 1')