【问题标题】:Java execute .bat fileJava 执行 .bat 文件
【发布时间】:2012-05-17 07:18:32
【问题描述】:

我正在使用 Windows 7 并在 Netbeans 平台上编程。我写了这一行:

Runtime.getRuntime().exec("cmd /c start make.bat");

当我运行 bat 时,它运行良好,但是 java 调用它,这就是我得到的:

C:\Users\RB\Documents\NetBeansProjects\BinaryTree>dot -T png -o tree.png tree.dot

'dot' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\RB\Documents\NetBeansProjects\BinaryTree>cmd
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

bath文件的内容是:

dot -T png -o tree.png tree.dot

【问题讨论】:

  • 您能否提供详细信息,该 .bat 文件中的内容是什么?
  • 我已经提供了它们。正如我所写:浴文件的内容是:dot -T png -o tree.png tree.dot
  • dot 是一个从文本文件中绘制二叉树的程序
  • “点”程序在什么位置?批处理文件是相对于它们的位置还是相对于调用它们的命令行的位置来执行程序的?

标签: java batch-file cmd command


【解决方案1】:

尝试在您的 bat 文件中指定 'dot' 程序的完整路径。 Runtime.getRuntime().exec() 和您的操作系统中的 PATH 等环境变量可能不一样。

【讨论】:

  • 这很可能是这种情况,但现在我无法提供带有空格的路径。像 D:\Program Files\... 反正我正在处理它
  • 我已经通过将 Bath 文件重写为 "D:\Program Files\Graphviz 2.28\bin\dot" -T png -o tree.png tree.dot 解决了这个问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多