node.js - Node js 子进程窗口

标签 node.js exec child-process

我正在尝试使用 Node js 子进程打开文件。

我正在使用 execFile 命令。

我的代码如下:

execFile("C:/Program Files (x86)/Windows Media Player/wmplayer.exe",["a.mp4"] ,(err, stdout, stderr) => {
    console.log(stdout, stderr, err)
}).unref()

但是在 cmd 中,只有 a.mp4 命令有效。

我尝试了以下方法:

execFile("",["a.mp4"] ,(err, stdout, stderr) => {
    console.log(stdout, stderr, err)
}).unref()

execFile("a.mp4",(err, stdout, stderr) => {
    console.log(stdout, stderr, err)
}).unref()

两者都不起作用。

有没有一种方法可以在不提供运行二进制文件的应用程序路径的情况下运行a.mp4

最佳答案

这实际上可以使用 exec 来完成。

execFile 需要一个可执行文件 (.exe) 作为第一个参数。

当 exec 盲目执行命令时。

exec('"a.mp4"', (stdout, stderr, err)=>{
    console.log(stdout, stderr, err)
}

这会很好地工作。

关于node.js - Node js 子进程窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51105438/

相关文章:

PHP exec() 后台进程的返回值 (linux)

php - 如何在 Windows 上在 C++ 和 PHP 之间进行通信?

node.js - 当 Node 进程被杀死时杀死所有child_process

github - 为GitHub Pages设置Jekyll环境

javascript - 学习你 Node : juggling async issue

java - 如何在不指定 winword.exe 路径的情况下从 java/或命令行打开 word 文档/m "Macro argument"

mysql - 如何在sequelize中更新多行

sudo - Node.js 子进程 sudo

node.js - 执行 npm install 时出现 node-gyp 错误

node.js - 2dsphere 不是路径 `index` 处的有效类型