当使用 child_process.exec
在 Node.js 中执行外部的可执行文件时,如果可执行文件路径包含空格,你应该确保在传递给 exec
函数的命令字符串中正确处理空格。
在命令字符串中,将包含空格的路径用引号括起来。这可以通过在路径两边添加双引号来实现。例如:
const { exec } = require('child_process');
// 可执行文件路径包含空格
const exePath = 'C:/Program Files/Example/your_executable.exe';
// 使用child_process.exec执行命令
exec(`"${exePath}"`, (error, stdout, stderr) => {
if (error) {
console.error(`执行命令时出错: ${error}`);
return;
}
console.log(`stdout: ${stdout}`);
console.error(`stderr: ${stderr}`);
});
在上述代码中,exePath
是包含空格的可执行文件路径,而在 exec
函数中,该路径被用双引号括起来,确保在命令行中正确解析路径。
确保在传递包含空格的路径时使用引号,这是一个通用的最佳实践,以防止由于空格而导致的路径解析问题。