2

我为我的文凭开发了一个应用程序,在某些时候我必须从 java 源文件运行一个批处理文件。问题是每次我尝试执行该批处理文件时都会收到此错误:“没有足够的存储空间来处理此命令”。

这个批处理文件只是运行 cvs log命令。如果我直接从 cmd 运行命令,一切正常,但如果我尝试运行包含此命令的批处理文件,我会收到该错误:(

我使用这个例子来运行一个批处理文件:

// --------------
Process process = Runtime.getRuntime().exec(cmd);
process.waitFor();
// --------------

其中,cmd 是这样的字符串:“cmd /c start \"\" absolute_path_of_batch_file”。

有谁知道我该如何解决这个问题?这个错误到底是什么?谢谢!

4

1 回答 1

1

从 java 运行将在自己的进程中运行命令,因此它应该与从命令行运行命令完全相同。可能不同的是您运行批处理文件的目录(或环境变量)。批处理文件中是否有任何相对路径?

否则,sysout对该cmd字符串执行 a 并在cmd终端中准确执行该字符串,看看它是否有效。并发布确切的错误。

于 2012-05-05T14:04:55.453 回答