【发布时间】:2017-05-02 07:53:41
【问题描述】:
我有以下批处理文件:-
gcc temp.c -o temp.exe
pause
此批处理文件编译一个 .c 文件。通过双击执行此批处理脚本时运行良好,但是当我为此目的使用 java 时,它给了我一个错误。以下是代码
Process p = Runtime.getRuntime().exec("cmd /c start CPrun.bat");
p.waitFor();
CRun.bat 是批处理文件的名称。
以下是cmd上的错误
'gcc' is not recognized as an internal or external command,
operable program or batch file.
请注意,gcc 是我的 C 编译器,它在我的计算机路径中定义
【问题讨论】:
-
gcc 在路径上吗?
-
@pringi 是的,这就是为什么直接执行它可以正常工作的原因
-
尝试在 CPrun.bat 上提供 gcc 的完整路径。我不确定 Windows 如何处理 cmds 之间的环境共享
-
@pringi 完整路径给出了错误。 “C:Program....”未被识别为命令。我输入的路径不正确吗?
-
你用的是cygwin吗?您确定手动运行脚本时正在生成 temp.exe 吗?
标签: java batch-file cmd environment-variables