exec
函数可以执行除了批处理文件之外的其他文件。它可以执行任何可以在命令行中执行的文件,比如可执行文件、脚本文件等。
你只需要将要执行的文件的路径作为exec
函数的第一个参数传入即可。例如,如果你想执行一个名为script.js
的JavaScript脚本文件,可以将其路径作为参数传入exec
函数。
const { exec } = require("child_process"); const path = require("path"); const scriptFilePath = path.join(__dirname, "script.js"); exec(`node ${scriptFilePath}`, (error, stdout, stderr) => { if (error) { console.error(`执行错误: ${error}`); return; } console.log(`执行输出: ${stdout}`); console.error(`stderr: ${stderr}`); });
在上面的例子中,我们使用exec
函数执行了一个名为script.js
的JavaScript脚本文件。通过在命令行中使用node
命令来执行该脚本文件。
所以,exec
函数不仅可以执行批处理文件,还可以执行其他类型的文件,只要在命令行中可以执行即可。
在exec
函数的回调函数中,会接收到三个参数:error
、stdout
和stderr
。error
表示执行过程中的错误信息,stdout
表示执行结果的标准输出,stderr
表示执行结果的错误输出。
如果error
存在,即执行过程中发生了错误,代码会打印出错误信息并返回。