child_process.exec未在路径中找到cmd

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了child_process.exec未在路径中找到cmd相关的知识,希望对你有一定的参考价值。

所以我安装了ffmpeg并将其添加到我的路径中。 如果我在cmd.exe中运行ffmpeg,它将运行ffmpeg.exe。

但是当我使用它时:

const { exec } = require('child_process');

await asyncExec(`ffmpeg -i ${filename}%05d.png ${aviname}`);
//Note: the variables are filled in

我收到此错误:

Command failed: ffmpeg -i thing%05d.png thing.avi
'ffmpeg' is not recognized as an internal or external command,
operable program or batch file.

我不明白为什么会这样开心。我只是在VSCode调试中运行这个应用程序。

编辑:asyncExec是这个函数:

const asyncExec = text => new Promise((res, rej) => {
    exec(text, (err, result) => {
        if (err) {
            rej(err);
        } else {
            res(result);
        }
    });
});
答案

重新启动Visual Studio代码后,它再次工作。奇怪的。

以上是关于child_process.exec未在路径中找到cmd的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Bluebird 承诺 Node 的 child_process.exec 和 child_process.execFile 函数?

Node.js child_process exec 的标准输出被缩短

NodeJs之child_process

exec执行的进程继续运行

C# Web 方法未在 javascript 中调用

os注入