【发布时间】:2012-02-25 08:57:11
【问题描述】:
我正在开发一个 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 脚本中运行表单时,空格似乎才是问题。
(简单地从环境中的任何路径中删除空格不是一种选择。命令行变量是动态生成的,必须能够处理空格以对其他人有用。)
【问题讨论】:
标签: windows command-line-arguments jsfl