我正在开发一个 JSFL 脚本,它将导出 WAV 文件并使用 lame.exe 通过 FLfile.runCommandLine 将它们编码为 MP3。我不知道如何正确转义命令行中的空格以使其正常工作。
var command_line = '"C:\pathWithSpaces in pathname\lame.exe" -option1 -option2 "C:\different pathWithSpaces\targetfile.wav" "C:\different pathWithSpaces\targetfile.mp3"' ;
FLfile.runCommandLine (command_line);
结果在命令窗口:
'C:\pathWithSpaces' 不是内部或外部命令、可运行程序或批处理文件。
我试过用'%20'和carrat-space'^'替换空格,都失败了。var command_line 在手动剪切并粘贴到命令窗口时经过验证可以正常工作,只有在 JSFL 脚本中运行表单时,空格似乎才是问题。
(简单地从环境中的任何路径中删除空格不是一种选择。命令行变量是动态生成的,并且必须能够处理空格才能对其他人有用。)