问题标签 [runtime.exec]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
13868 浏览

java - Java - 使用 runtime.getRuntime().exec 运行 Excel

不工作。我必须输入 excel.exe 的完整路径才能工作。如何使其通用(对于任何 Excel 文件夹/版本)?当我使用 Windows 运行(开始->运行)从操作系统运行同一行时,它可以工作。Java中是否有代码来模拟Windows的运行命令?

0 投票
1 回答
18204 浏览

java - ProcessBuilder 与 Runtime.exec()

我正在尝试使用 Inkscape 的命令行功能在 Java 中创建一个前端应用程序来处理批量 SVG 转换。我正在从https://sourceforge.net/projects/conversionsvg/获取并更新代码。原始开发人员通过Runtime.getRuntime().exec(String)处理调用 Inkscape 的方式。我遇到的问题是使用methodA和methodB之间的一些不一致。我创建了一个简单的 java 测试项目来演示正在执行的不同操作。

调用者测试.java

RuntimeExecCaller.java

ProcessBuilderCaller.java

结果

两个methodA(String)调用都有效,但是当调用methodB(String[])时,Inkscape 正在启动并且参数传递不正确。在methodB(String[])执行后,我会为每个说法得到一个 Inkscape 错误对话框

加载请求文件失败 -f C:/test.svg -D -w 100 -h 100 -e C:\RuntimeExec-methodB.png

加载请求文件失败 -f C:/test.svg -D -w 100 -h 100 -e C:\ProcessBuilder-methodB.png

当我单击对话框上的关闭时,Inkscape 会弹出一个新的空白文档。所以,我想我有几个问题:

Runtime.getRuntime().exec(String) 和 Runtime.getRuntime().exec(String[]) 有什么区别?

JavaDoc 说Runtime.exec(String)调用Runtime.exec(command, null)(即Runtime.exec(String cmd, String[] envp)),后者又调用Runtime.exec(cmdarray, envp)(即Runtime .exec(字符串[] cmdarray,字符串[] envp))。所以,如果Runtime.getRuntime().exec(String ) 无论如何都在调用Runtime.exec(String[]),为什么我在使用不同的方法时会得到不同的结果?

Java 根据调用的方法以不同方式设置环境的幕后发生了什么?

0 投票
6 回答
8364 浏览

java - 当你不知道是否有空格时使用 Java 的 exec 命令

我正在与 Java 的 Runtime exec 方法中的空格错误作斗争。这是这个问题的独特之处:我试图执行的命令是一个传入的字符串,可能有也可能没有空格,不一定是任何特定的格式。无论哪种方式,我都需要执行它。如果没有空格,我很好;如果有空格,我就不那么好了。

我如何考虑这两种情况?

无需额外费用的奖励信息:一个大问题似乎是我试图在 c:\program files\blablabla... 中调用一个可执行文件,而 exec 似乎在 'c:\program' . 我相信参数也会出现其他问题。

这是我可能得到的字符串类型的更具体示例。这应该可以消除一些困惑:

  • c:\someApp\someapp.exe
  • c:\someApp\someapp.exe -someParam=foo
  • c:\程序文件\someapp\someapp.exe
  • c:\程序文件\someapp\someapp.exe -someParam=bar

第一个工作正常,因为它没有空格。第二个甚至可以,因为它在空间上拆分并使用第一个作为命令,第二个作为参数。第三个和第四个例子在第一个空格上分开,使用'C:\program'和命令'files...'和(在第四个字符串的情况下)'-someParam=bar'作为参数。

0 投票
3 回答
962 浏览

java - 使用 Runtime.getRuntime().exec 方法调用 exe 时出错,如果 exe 路径包含非英文字符

我正在使用 Runtime.getRuntime.exec() 方法来调用一个 exe。我用这种方法面临的问题是,当我通过一些 exe 路径(c:\JPN_char_folder\mypath\myexe.exe)和其他语言字符(ex.Japanese)“它说“系统找不到指定的文件”。会你请提出一些想法来解决这个问题?我什至尝试在转换为 UTF-8 后传递那个 exe 路径,但我仍然无法解决这个问题。

-罗伯特。

0 投票
4 回答
1240 浏览

java - 无法调用 Runtime.getRuntime().exec

我正在运行一个 xSocket 服务器,因此需要启动一个 chat.jar,它似乎没有调用该部分。我的代码有什么问题?

如果我创建一个 xSocketserver.jar,那么 exec 是否能够启动任何外部 jar?

0 投票
3 回答
406 浏览

java - java中的Exec方法从不抛出异常

我正在尝试执行诸如 exp 之类的系统命令来备份数据库。但是,如果登录详细信息错误或数据库不存在,则不会引发异常。

我该如何处理这种抛出异常的情况?

欢迎所有乐于助人的人..

问候, 斯瓦鲁巴

0 投票
2 回答
701 浏览

java - Runtime.getRuntime().exec - 执行 osql 查询

我正在尝试从 Java 程序执行 osql 命令来恢复数据库,如下所示。

当我调用方法 restore 时,命令提示符被打开,osql 被执行,然后命令提示符变得不可见。

您能否告诉我是否有办法阻止命令提示符关闭?

谢谢你的帮助

0 投票
2 回答
310 浏览

java - 如何确定用于启动当前 jvm 的命令?

我打算生一个孩子做一些工作。我想使用与父进程相同的命令行来生成子进程。

例如,如果父级是这样启动的:

然后我会打电话

示例 2:

然后我会打电话

我知道我可以从系统属性中找到类路径。而不是使用 Runtime.exec 我计划使用 ProcessBuilder,它将父环境复制到子环境。但基本上我想使用与父级相同的 java 程序和参数。我没有在系统属性中找到此信息。

0 投票
2 回答
6837 浏览

java - 运行子进程,在 Java 中正确地为其提供输入和输出

我使用 Runtime exec() 方法在 Java 中创建子进程。但是,由于子流程是一个交互式程序,我需要在需要时为其提供输入。我还需要显示子流程的输出。我怎样才能以最简单的方式做到这一点?

我正在使用 StreamGobbler 使用 process.getInputStream() 显示程序输出。但是,我不知道如何识别程序何时等待输入以及何时使用 proc.getOutputStream 为其提供输入。我怎样才能做到这一点?

0 投票
6 回答
16028 浏览

java - Runtime.getRuntime().exec(),执行Java类

我正在从我的应用程序内部执行 Java 类。

如何识别是否Test执行成功(即没有例外)?


重定向输出/错误:

来自cmd