如何在Lua中开始/显示文件,就像批处理命令"start"一样?

我已经研究了在Lua中打开/开始文件,然而每一篇文章都给我像dofile()这样的函数,返回/运行文件状态/内容,而不是实际打开/启动文件。在我的情况下,我有一个.hta文件,我试图通过Lua启动,我技术上想知道是否Lua有一个类似于批处理命令“start”的函数,可以启动文件,如果没有,是否有任何方法从Lua文件发送命令到控制台?如果有人能帮我一下,我会非常感激。

点赞
用户1266551
用户1266551

你要找的是os.execute()函数。它允许你在操作系统 shell 中运行命令:

local code = os.execute("ls -la")
if code ~= 0 then
    print("Something when wrong while running command")
end

如果你还想捕获执行命令的输出并在 Lua 代码中使用它,可以使用io.popen()函数:

local f = assert(io.popen("ls -la", 'r'))
local output = assert(f:read('*a'))
f:close()
print(output)

请注意,不是所有系统都支持io.popen()。

2016-12-07 06:41:27