【发布时间】:2013-12-12 21:17:40
【问题描述】:
我有一个可执行文件,双击时会在命令行窗口中打开。
现在在可执行 apame_win64.exe 所在的同一目录中有一个输入文件(即名为“sphere_15000.inp”)。所以我们可以在命令行中输入文件名。
问题是如何从mathematica 前端做到这一点?使用RunThrough 命令,我尝试执行此操作,但无济于事。
RunThrough["Executable Location", "sphere_15000"]
我是否需要将此文件位置放在我的 Windows 7 环境路径变量中?希望有这方面的建议。
更新
找到了解决我的问题的方法。
-
首先将 Mathematica 目录设置为可执行文件所在的文件夹。
path="C:\Users\FlowCrusher\Desktop\CUSP 求解器\Apame_build_2011_01_09\solver"; 设置目录[路径];
-
然后使用以下样式的输入。
运行["\"\"apame_win64.exe\" \"输入\"\""]
这里“apame_win64.exe”是要运行的可执行文件,“input”是可执行文件的输入文件。这解决了问题。但是愿望清单中有一个新项目。
有没有办法在后台隐藏控制台窗口?
这是它在我的屏幕上的外观。
正如 Chris 所建议的,如果我们在运行命令中使用最小化的控制台,我们会得到一个最小化的窗口,但程序不会执行。
希望有解决办法。
BR
【问题讨论】:
-
Windows 的
Run的一个问题(同样适用于RunThrough,它在Run之上实现)对于Windows 来说,它不会正确处理包含空格的目录它们(实际上,这更多是底层 Windows shell 的问题)。我不止一次遇到这个问题,可能是你也遇到了这个问题。一般的出路是将路径用引号引起来。相关 MathGroup 线程:groups.google.com/group/comp.soft-sys.math.mathematica/… -
非常感谢@LeonidShifrin。这个链接很有帮助。
-
@Plato,尝试
Run["start /min \"\"apame_win64.exe\" \"input\"\""]最小化运行,甚至Run["cmd /c start /min \"\"apame_win64.exe\" \"input\"\""]- ref: computerhope.com/issues/ch000932.htm -
@ChrisDegnen 在这种情况下它不起作用。控制台即将到来,并在没有执行外部程序的情况下最小化。
-
@ Plato - 问题似乎出在引号上。你确定你需要它们。文件名中没有任何空格。看看这是否有效:
Run["start /min apame_win64 input"]
标签: command-line wolfram-mathematica