2

我对 IDL 很陌生(试图为使用它的人做一个 POC),我正在尝试运行一个外部命令。我添加的代码行是这样的:

spawn, 'C:\Program Files\ITT\IDL\IDL80\products\envi48\save_add\visual.exe'

我认为这就是启动外部命令所需的全部内容。当我运行应用程序时,我可以使用调试器单步执行代码,当我到达这一行并单步执行时,我的可执行文件不会运行。我在调试器中看不到任何指示任何类型错误的消息。

我将文件 visual.exe 放在目录中,并且可以手动运行它而没有问题。它似乎只是直接跳过代码而不执行它或报告任何错误。

4

2 回答 2

3

您可以使用以下表格:

spawn, cmd, result, errResult

获取可能从 cmd 生成的任何错误消息。在您的特定情况下,我认为您需要引用可执行文件的路径,因为路径中有空格。

于 2011-09-16T21:51:02.747 回答
2

您对spawn命令的使用是正确的。也许visual.exe由于某种原因过早退出(例如,运行时的工作目录可能spawn不是您的外部程序所期望的。)

您可以尝试编写一个小脚本,该脚本从 开始visual.exe,然后执行 a pause,然后spawn是包装脚本,而不是visual.exe直接编写。这可能使您有机会在 DOS 窗口消失之前看到任何错误消息。

于 2011-09-16T17:42:11.303 回答