【问题标题】:Lua os.execute with command line argumentsLua os.execute 带命令行参数
【发布时间】:2014-02-11 08:26:32
【问题描述】:

我在 Windows 7 机器上运行 Lua,并尝试使用 Lua 启动 LabVIEW 可执行文件。

这是一个有效的命令行输入示例:

我使用的文字:

"C:\Program Files\National Instruments\LabVIEW 2009\LabVIEW.exe" "C:\Program Files\National Instruments\LabVIEW 2009\examples\viserver\cmdline.llb\CommandLine.vi" -- 4.0

但是无论我如何尝试在 Lua 中格式化它,它都会抱怨:

'C:\Program' 未被识别为内部或外部命令, 可运行的程序或批处理文件。

我目前将其格式化为以下格式,但没有成功:

local s = [["C:\Program Files\National Instruments\LabVIEW 2009\LabVIEW.exe" "C:\Program Files\National Instruments\LabVIEW 2009\examples\viserver\cmdline.llb\CommandLine.vi" -- 4.0]]
os.execute(s)

我需要帮助格式化该本地字符串 s 以执行与我在命令提示符中键入的内容相同的操作。

【问题讨论】:

  • 这可能不是问题,但请尝试转义反斜杠(“C:\\Program Files \\National...”)
  • Lua 中的双括号禁用转义序列。我认为这个问题是由空格引起的,但路径周围的引号应该可以解决这个问题(或者我认为)。

标签: lua command-line-arguments command-prompt


【解决方案1】:

一些在线快速阅读建议您可能需要将命令字符串包含在一组额外的引号中。我认为是这样的:

[[""C:\Program Files\National Instruments\LabVIEW 2009\LabVIEW.exe" "C:\Program Files\National Instruments\LabVIEW 2009\examples\viserver\cmdline.llb\CommandLine.vi" -- 4.0"]]

【讨论】:

  • 我不确定你在哪里找到的,因为我搜索了很长时间的解决方案,但这绝对解决了问题!
  • 不记得我搜索的确切内容,但我曾经浏览过 system 函数的 MSDN 页面,然后最终到达 stackoverflow.com/questions/9964865/…(参考了 cmd 上的文档,我'以前在查看cmd.exe 中的命令行解析时看到过)。
猜你喜欢
  • 2014-05-28
  • 1970-01-01
  • 2021-10-27
  • 1970-01-01
  • 2011-02-26
  • 2021-05-30
  • 2012-03-29
  • 2012-12-13
  • 2012-02-25
相关资源
最近更新 更多