Lua 发送命令行到 Windows (& Mac)

Lua send command line to Windows (& Mac)

我正在使用 sendmidi 将 MIDI 发送到 Windows MIDI 设备或在 Mac 中将 MIDI 发送到 Mac MIDI 设备。 在 Win 中,我可以从命令提示符发送,在终端中也是如此: sendmidi.exe dev "Microsoft GS Wavetable Synth" pc 17 channel 1 on 60 90

我可以在不执行 .bat 或 .vbs 的情况下使用 Lua 发送命令行吗?

我可以获得脚本路径,其中我有 Win & Mac 可执行文件 sendmidi.exe & sendmidi

local info = debug.getinfo(1,'S');
script_path = info.source:match[[^@?(.*[\/])[^\/]-$]]

我还需要 CMD.exe window 到 运行 静音或最小化。

所以我需要能够发送

"script_path..sendmidi.exe dev "Microsoft GS Wavetable Synth" pc 17 channel 1 on 60 90"
os.execute([command])

请阅读Lua手册...

https://www.lua.org/manual/5.3/manual.html#pdf-os.execute

local script_path = debug.getinfo(1, 'S').source:match[[^@?(.*[\/])[^\/]*$]] or ""
local command = '""'..script_path..'sendmidi.exe" dev "Microsoft GS Wavetable Synth" pc 17 channel 1 on 60 90"'
os.execute(command)