如何通过 Lua 应用程序运行存在于同一文件夹中的 exe 文件?

我找不到这个东西。我想编写能够在相同文件夹中运行 exe 文件的代码,而不需要静态路径。例如,如果文件名是 application.exe,我想运行该文件,如果找不到,则弹出错误消息“找不到 application.exe”。请帮帮我怎么做?

在 VB 中可以完成这个功能,但我不知道在 Lua 中是否也可以完成?

原文链接 https://stackoverflow.com/questions/9535534

点赞
stackoverflow用户295262
stackoverflow用户295262

我不确定它在Windows上是如何工作的,但在Linux上可以正常工作:

os.execute("./foo")

有关Lua在Windows上的更多信息,请参阅Lua非官方FAQ

更新: 您还可以阅读LuaFAQ上如何执行外部命令。其中有一些有关在Windows上执行GUI程序的有趣信息,以及一个指向使用winapi启动进程的链接。

更新2: 我找到了这个答案:https://stackoverflow.com/a/3589108/295262

它涉及到相反的问题,即完整路径。根据它,os.execute "application.exe"将在同一目录中工作,尽管您可能需要从LuaFAQ中尝试一些更高级的方法。

2012-03-02 17:16:49
stackoverflow用户1211342
stackoverflow用户1211342

正如所说,**os.execute()**函数允许在Lua执行路径中运行系统命令。

如果您想要获取输出,可以使用**io.popen()**代替:

local f = io.popen("application.exe","r")
print(f:read("*a"))
2012-03-05 00:55:53