В Windows вы должны заключить вашу командную строку (программа + аргументы) в дополнительные кавычки внешнего уровня.
local test = string.format([==["C:\Program Files (x86)\Audacity\audacity.exe" "F:\Aufnahme %s.%s.%s\ZOOM0001.WAV"]==], tag, monat, jahr)
test = '"'..test..'"'
print(test)
io.popen(test)
Когда вы набираете команду с клавиатуры в окне CMD.EXE, эти дополнительные кавычки автоматически добавляются кодом, обрабатывающим ввод с клавиатуры.
Когда вы используете функцию Csystem
функций Lua os.execute
, io.popen
, затем вы должны добавить дополнительные кавычки вручную.
Так работает CMD.EXE (и его дизайн полон не очень логичных решений).