NodeJS – 产卵function

我正在与nodejs和subprocess模块在我的平台上执行命令。 为此,我使用spawn函数 。

这是我的代码:

var spawn_execution = executor.spawn(command, args); spawn_execution.stdout.on('data', function (data) { console.log('stdout: ' + data); }); spawn_execution.stderr.on('data', function (data) { console.log('stderr: ' + data); }); 

没有什么花哨。 所以我尝试了几个像这样工作的命令

 executor.spawn('C:/path/to/ffmpeg.exe', [...]); 

但是,当我尝试使用本地Windows命令,它不起作用。 例如,我试过:

 executor.spawn('del', ['C:\\my\\file\\to\\delete']); 

当执行这个,我有一个ENOENT错误,这意味着该文件没有find。 所以我做了另一件事:

 executor.spawn('C:/my/script-delete.exe', ['C:\\my\\file\\to\\delete']); 

这个脚本delete.exe只包含:

 del %1 

那么为什么spawn函数需要有一个脚本文件? 为什么它不适用于本地Windows命令? 你知道一个方法,使其与本地命令工作?

谢谢!

它不工作,因为内部命令不能从executor.spawn找到只有cmd.exe知道他们。

所以它从一个批处理文件或当你使用类似的东西

 executor.spawn('cmd.exe', ['/C', 'del', 'C:\\my\\file\\to\\delete']);