在Windows命令行上使用IDL

时间:2014-09-11 10:58:54

标签: windows cmd idl-programming-language

我正在尝试从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启动这个程序时,一切正常。

可以请别人帮帮我吗?我做错了什么?

1 个答案:

答案 0 :(得分:1)

您可以使用相同的名称保留文件,但可以通过注释PRO helloEND将其更改为类似批处理的文件,因为例程中的所有内容都可以轻松地从命令行。

然后开始一切,尝试:

C:\Users\lein_pa>idl -e G:/05_Software/01_IDL/IDLWorkspace/Default/hello.pro

在基于unix的系统上,这将启动IDL并立即运行批处理文件hello.pro。如果您需要基于Windows的计算机的双引号,请相应地添加它们。

请记住,如果您使此例程更复杂但将其保存为批处理文件,那么请注意循环,因为您需要在行的末尾使用$& $将它们包含在循环中。我很确定可以在启动时运行实际的程序/功能,但如果有必要,在启动后输入功能名称也很容易。通常,人们希望使用启动批处理例程来设置您希望在IDL中使用或常用的个人首选项/默认值。