nodejs exec无法使用quoted参数处理start

时间:2018-02-15 10:56:30

标签: node.js cmd

所以我有一个非常简单的场景。我想从我的脚本开始打开docx文件。如果我尝试在不引用路径的情况下执行exec,它适用于没有空格的路径,但当然对于带空格的路径是失败的。如果我尝试引用它,则不会运行带空格或不带空格的文件。

我的命令适用于没有空格的路径:

        exec('start ' + filePath + '');

我的命令对两个路径都不起作用:

        exec('start "' + filePath + '"');

由于某种原因,引用的版本打开一个shell,其中文件的路径作为shell的名称。

引用路径如何改变发生的情况? 从powershell调用相同的命令可以正常工作。

enter image description here

1 个答案:

答案 0 :(得分:0)

如果您确实需要使用start命令,那么您需要包含一对额外的双引号,因为start命令的第一个引用参数作为窗口处理标题。

exec('start "" "' + filePath + '"');

但是,如果没有start命令的确切要求,则应打开.docx文件

exec('"' + filePath + '"');