You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下Node.js exec执行C++程序报错:'.'未被识别

解决Windows下Node.js exec运行生成的.exe程序时'.'不被识别的问题

问题根源

Windows的命令行环境(CMD或PowerShell)不支持类Unix系统中用./表示当前目录的写法,这就是触发. is not recognized...错误的原因。

修复方案

将执行命令中的./${jobId}.exe替换为Windows兼容的写法,同时修正原代码中模板字符串的语法错误(末尾缺失闭合反引号):

exec(`g++ ${fileData.filepath} -o ${outPath} && cd ${outputPath} && ${jobId}.exe`,
  (error, stdout, stderr) => {
    if (error) {
      reject({ error, stderr });
    }
    if (stderr) {
      reject(stderr);
    }
    resolve(stdout);
  }
);

额外优化建议

可以省略cd ${outputPath}的步骤,直接使用生成的exe文件的完整路径执行,避免目录切换可能带来的潜在问题:

exec(`g++ ${fileData.filepath} -o ${outPath} && ${outPath}`,
  (error, stdout, stderr) => {
    if (error) {
      reject({ error, stderr });
    }
    if (stderr) {
      reject(stderr);
    }
    resolve(stdout);
  }
);

因为outPath本身就是生成的.exe文件的完整路径,直接执行它无需切换工作目录,逻辑更简洁可靠。

内容的提问来源于stack exchange,提问作者jkkCoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 04:45:33