0
我试图从Windows命令行启动IDL程序。 可以说我有以下程序:在Windows命令行上使用IDL
PRO hello
print, "Hello, I am a IDL script!"
a=bytarr(100,200)
outname='g:\testimage.tif'
WRITE_TIFF, outname, a
END
我想用IDL执行该程序的命令行-e .RUN如下:
C:\Users\lein_pa>idl -e ".RUN G:/05_Software/01_IDL/IDLWorkspace/Default/hello.pro"
IDL Version 8.2, Microsoft Windows (Win32 x86_64 m64). (c) 2012, Exelis Visual Information Solutions, Inc.
Installation number: xxxxx.
Licensed for use by: xxx
% Compiled module:HELLO.
C:\Users\lein_pa>
正如你可以看到HELLO.pro会被编译,但没有消息“你好,我是一个IDL脚本!”出现在shell上,并且testimage.tif不写入磁盘。当我从IDL IDE启动这个程序时,一切正常。
可以请别人帮我吗?我究竟做错了什么?
这是个好主意,非常感谢。但hello.pro当然只是一个简单的示例程序。我想从命令行调用已经存在的非常复杂的程序,这些程序在结构或编码方面不能改变。 – KingLui81 2014-09-12 06:47:01
您的意思是说,当您首次启动IDL或希望能够在命令行上从IDL之外运行IDL例程时,您想要运行一些例程吗?前者非常简单,只需在一个简单的bash例程(如hello.pro)中调用它们,或者从IDL中的命令行中调用它们。后者是可能的,但可能有点棘手。你看过:[IDL启动的命令行选项](http://www.exelisvis.com/docs/command_line_options_for.html)或[执行SAVE文件](http://www.exelisvis.com/docs/) Executing_SAVE_Files.html)来查看这些选项是否有效? – 2014-09-12 12:49:17
感谢您的链接 - 他们帮助我找出错误!我意识到这个问题是idl调用中的一个小差异。尽管基于unix的系统使用idl,但windows虚拟机使用idlrt从命令行运行程序。 – KingLui81 2014-09-22 16:47:16