参考:I/O - General File Access Routines —— 基本文件操作函数


01   CD 修改当前的工作空间路径。
02   FILE_SEARCH 对文件名进行特定的查找。返回字符串数组。
03   FILE_COPY 复制文件或者文件夹。
04   FILE_DELETE 删除文件或者文件夹。
05   FILE_MOVE 移动文件或文件夹。 
06   FILE_MKDIR 新建文件夹。
07   FILE_TEST 判断文件是否存在,返回布尔值。 
08   FILE_BASENAME 返回文件路径中的文件/文件夹名称。
09   FILE_DIRNAME  返回文件路径所在的文件夹路径。
10   FILE_EXPAND_PATH 返回给定文件/文件夹的完整路径。 
11   FILE_INFO  返回给定文件/文件夹的属性信息。
12   FILE_LINES  返回指定文件的行数。 
13   ROUTINE_FILEPATH 返回当前编译过程或函数的完整路径。

序号 名称  

功能说明

   语法 & 举例
01 CD  

修改当前的工作空间路径。
CD [, Directory] [, CURRENT=variable]

 
◈ 指定一个完整的路径:
CD, 'D:\home\data\'
CD, 'D:/home/data/' ◈ 改变为当前路径的子路径:
CD, 'january'
CD, './january' ◈ 回到上一级路径:
CD, '..'
CD, '../february'
 02 FILE_SEARCH  

====<<<< Description >>>>====

对文件名进行特定的查找。返回字符串数组。
相当于 shell 里面的 ls,显示当前文件夹内的所有文件夹和文件。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

Result = FILE_SEARCH(Path_Specification)

or for recursive searching,

Result = FILE_SEARCH(Dir_Specification, Recur_Pattern)

Keywords: [, COUNT=variable ] [, /EXPAND_ENVIRONMENT ] [, /EXPAND_TILDE ] [, /FOLD_CASE ] [, /FULLY_QUALIFY_PATH ] [, /ISSUE_ACCESS_ERROR ] [, /MARK_DIRECTORY ] [, /MATCH_ALL_INITIAL_DOT | /MATCH_INITIAL_DOT ] [, /NOSORT ] [, /QUOTE ] [, /TEST_DIRECTORY ] [, /TEST_EXECUTABLE ] [, /TEST_READ ] [, /TEST_REGULAR ] [, /TEST_WRITE ] [, /TEST_ZERO_LENGTH ] [, /WINDOWS_SHORT_NAMES ]

----------------------------------------------------------------------------------

====<<<< Return Value >>>>====

返回值为匹配的字符串数组。
----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  Path_Specification:路径字符串,可以包含通配符,如果为空则会默认为"*";如果指定绝对路径,结果也是绝对路径,如果是相对路径,结果只有文件名。
◈  Dir_Specification:文件夹路径字符串,执行递归查询。
◈  Recur_Pattern:递归查询内容,允许通配符,空相当于"*"。

◈  TEST_REGULAR:仅包括文件。
◈  TEST_DIRECTORY:仅包括文件夹。
◈  COUNT:文件总数。
◈  FULLY_QUALIFY_PATH:添加完整路径
◈  MARK_DIRECTORY:会在文件夹路径后面添加"/"。
◈  TEST_ZERO_LENGTH:仅返回0长度的文件,文件夹会被返回。
----------------------------------------------------------------------------------

====<<<< References >>>>====

参考:IDL中File_Search函数用法详解

 
◈ 获取当前路径下的所有文件/文件夹:
FILE_SEARCH()  # 空相当于"*",相对路径
FILE_SEARCH('*')  # 查找全部,相对路径
FILE_SEARCH('F:\TestPath\*')  # 绝对路径 ◈ 获取当前路径下的所有文件:
FILE_SEARCH('*.*')
FILE_SEARCH(/TEST_REGULAR) ◈ 获取当前路径下的所有文件夹:
FILE_SEARCH(/TEST_DIRECTORY)

递归查询如下,如果不存在二级文件夹则相当于普通查询

MyRootDir='D:\CODES\IDL\GUI_test\data'
files = FILE_SEARCH(MyRootDir, 'A2017*.nc', count=num)
 03 FILE_COPY  

复制文件或者文件夹。
FILE_COPY, SourcePath, DestPath
◈ SourcePath:想要复制的文件夹或文件的路径
◈ DestPath:目的地文件夹
◈ OVERWRITE:覆盖文件

 
◈ 当前路径内部建立副本:
FILE_COPY, '1.nc', '2.nc' ◈ 复制到 sub 文件夹中:
FILE_COPY, '1.nc', 'sub' ◈ 复制多个文件/文件夹:
FILE_COPY, ['*.pro', 'makefile', 'mydata.dat'], 'BACKUP'
 04 FILE_DELETE  

删除文件或者文件夹。
FILE_DELETE, File1[,... Filen] [, /ALLOW_NONEXISTENT] [, /NOEXPAND_PATH] [, /QUIET] [, /RECURSIVE] [, /RECYCLE] [, /VERBOSE]
◈ RECURSIVE:默认情况下只能删除空文件夹,设置此参数能够删除非空文件夹
◈ RECYCLE:默认情况下永久删除,设置此参数可以将删除的文件放在回收站里面

 
◈ 删除当前路径下的 moose 文件夹:
FILE_DELETE, 'moose' ◈ 删除多个文件/文件夹
FILE_DELETE, '2.jpg', '3.jpg'
 05 FILE_MOVE   移动文件或文件夹。
FILE_MOVE, SourcePath, DestPath [, /ALLOW_SAME] [, /NOEXPAND_PATH] [, /OVERWRITE] [, /REQUIRE_DIRECTORY] [, /VERBOSE]
◈ OVERWRITE:覆盖文件
 
◈ 文件重命名:
FILE_MOVE, 'backup.dat', 'primary.dat' ◈ 移动多个文件/文件夹到另一路径下:
FILE_MOVE, ['*.pro', 'makefile', 'mydata.dat'], 'BACKUP'
 06 FILE_MKDIR  

新建文件夹。
FILE_MKDIR, File1 [,... FileN] [, /NOEXPAND_PATH]

 
  FILE_MKDIR, 'moose'
FILE_MKDIR, 'moose', 'abc'
 07 FILE_TEST  

判断文件是否存在,返回布尔值。(1-true、0-false)
FILE_TEST(File [, /DIRECTORY | ,  /EXECUTABLE | , /READ | , /REGULAR | ,  /WRITE | , /ZERO_LENGTH] [, GET_MODE=variable] [, /NOEXPAND_PATH])
◈ DIRECTORY:存在且是文件夹,返回值为 1 (true)

 
  FILE_TEST('tsm')
FILE_TEST('1.jpg', /DIRECTORY)
 08 FILE_BASENAME   返回文件路径中的文件/文件夹名称。
FILE_BASENAME(Path [, RemoveSuffix])
◈ RemoveSuffix:删除的后缀部分,可以用来删除文件的扩展名
 
◈ 返回值:dist.pro
FILE_BASENAME('C:\idl\lib\dist.pro') ◈ 返回值:dist
FILE_BASENAME('C:\idl\lib\dist.pro', '.pro')
 09 FILE_DIRNAME   返回文件路径所在的文件夹路径。
FILE_DIRNAME(Path [, /MARK_DIRECTORY])
◈ MARK_DIRECTORY:是否在末尾添加“\”等分隔符
 
◈ 返回值:D:\Mc\IDL
FILE_DIRNAME('D:\Mc\IDL\1.jpg') ◈ 返回值:D:\Mc\IDL\
FILE_DIRNAME('D:\Mc\IDL\1.jpg', /MARK_DIRECTORY)
 10 FILE_EXPAND_PATH   返回给定文件/文件夹的完整路径。
FILE_EXPAND_PATH(Path)
 
◈ 返回值:D:\Mc\IDL\1.jpg
FILE_EXPAND_PATH('1.jpg')
 11 FILE_INFO  

返回给定文件/文件夹的属性信息。(路径、大小等)
FILE_INFO(Path [, /NOEXPAND_PATH] )
◈ NOEXPAND_PATH:不显示路径,只显示文件名称

   
 12 FILE_LINES  

返回指定文件的行数。(文本文件)
FILE_LINES(Path [, /COMPRESS] [, /NOEXPAND_PATH])

   
 13 ROUTINE_FILEPATH  

返回当前编译过程或函数的完整路径。
ROUTINE_FILEPATH([Routine] [, /EITHER] [, /IS_FUNCTION])

   
14 PATH_SEP  

====<<<< Description >>>>====

返回当前操作系统分隔符。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

Result = PATH_SEP( [, /PARENT_DIRECTORY] [, /SEARCH_PATH] )

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  PARENT_DIRECTORY:设置的话返回当前系统父路径符号。

 
IDL> path_sep()
\
IDL> path_sep(/PARENT_DIRECTORY)
..
IDL> path_sep(/SEARCH_PATH)
;
15 CD  

====<<<< Description >>>>====

用来设置或者改变当前的工作空间。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

CD [, Directory] [, CURRENT=variable]

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  Directory:指定为新工作空间的字符串。
  如果路径为空字符串,则变为默认路径;
  如果参数未设置,则工作路径不变。
◈  CURRENT:将修改前的工作路径存储在此变量中。

 
IDL> ;指定完整路径
IDL> CD, 'D:\CODES\IDL'
IDL> ;改变为当前目录的子文件夹
IDL> CD, 'GUI_test'
IDL> CD, 'D:\CODES\IDL'
IDL> CD, './GUI_test'
IDL> ;回到父目录中
IDL> CD, '..'
IDL> ;返回父目录下的另一个文件夹
IDL> CD, '../folder2'
IDL> ;模仿 UNIX 系统 pwd 命令
IDL> CD, CURRENT=c & PRINT, c
D:\CODES\IDL
  CLIPBOARD  

获取和设置剪切板内容。

   
  GET_SCREEN_SIZE  

获取主显示器的长宽像素值。

   
  IDLsysMonitorInfo  

首先需要实例化,如示例所示。

 
IDL> obj = obj_new('IDLsysMonitorInfo')
IDL> print, obj.GetNumberOfMonitors()
2
IDL> print, obj.GETMONITORNAMES() IDL> print, obj.GETRESOLUTIONS()
0.015119048 0.015119048
0.015119048 0.015119048
IDL> print, obj.ISEXTENDEDDESKTOP()
1
IDL> print, obj.ISEXTENDEDDESKTOP()
1
   

-------------------------------------------------------------------------------

   

【215】◀▶ IDL 文件操作说明 (黑底)的更多相关文章

  1. 【215】◀▶ IDL 文件操作说明

    参考:I/O - General File Access Routines —— 基本文件操作函数 01   CD 修改当前的工作空间路径. 02   FILE_SEARCH 对文件名进行特定的查找. ...

  2. 【216】◀▶ IDL 字符串操作说明 (黑底)

    参考:String Processing Routines —— 字符串处理函数 参考:IDL_String Methods 01   STRING 返回字符串. 02   STRCMP 比较字符串, ...

  3. 关于com组件中idl文件的理解

    IDL文件: IDL文件主要定义两大类内容:一是定义接口:二是定义类型库. 定义接口的关键字是interface.每个接口定义前面方括号里面的内容是该接口的属性,最重要的是uuid的定义.该部分经过M ...

  4. 【224】◀▶ IDL NetCDF 文件操作说明

    参考:I/O - NetCDF Routines —— NetCDF 操作函数 01   NCDF_OPEN 打开一个 NetCDF 文件. 02   NCDF_CLOSE 关闭一个 NetCDF 文 ...

  5. 【223】◀▶ IDL HDF 文件操作说明

    参考:I/O - HDF Routines —— HDF 操作函数 01   HDF_SD_START 打开一个 SDS 模式的 HDF 文件. 02   HDF_SD_END 关闭一个 SDS 模式 ...

  6. C中文件操作说明

    r 以只读方式打开文件,该文件必须存在. r+ 以读/写方式打开文件,该文件必须存在. rb+ 以读/写方式打开一个二进制文件,只允许读/写数据. rt+ 以读/写方式打开一个文本文件,允许读和写. ...

  7. 【216】◀▶ IDL 字符串操作说明

    参考:String Processing Routines —— 字符串处理函数 01   STRING 返回字符串. 02   STRCMP 比较字符串,一样返回1,不一样返回0,默认大小写敏感. ...

  8. 如何在COM的IDL文件中include头文件?

    可以使用import语句,如import "x.h"; 则在自动生成的xxx_i.h中将会有include "x.h", 于是x.h就被include到工程中了 ...

  9. idl生成.h .c文件

    1.从命令行执行 设置INCLUDE.LIB等,可先运行vsvars32.bat(C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\ ...

随机推荐

  1. java 使用POI读取excel数据

    原文:http://doc.okbase.net/0201zcr/archive/161440.html 一.定义 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Ja ...

  2. BUPT复试专题—C翻转(2010)

    https://www.nowcoder.com/practice/74bdb725421c4f80b4aca7266818baf0?tpId=67&tqId=29639&rp=0&a ...

  3. Android安全机制介绍

    Android的安全机制包含下面几个方面:      • 进程沙箱隔离机制.      • 应用程序签名机制.      • 权限声明机制.      • 訪问控制机制.      • 进程通信机制. ...

  4. 【转载】Http协议与TCP协议简单理解后续

    写了这么长时间的代码,发现自己对TCP/IP了解的并不是很透彻.虽然会用C#的HttpClient类来进行网络编程,也可以使用Chrome的开发者工具来检测每一次的HTTP请求的报文头与报文体,也知道 ...

  5. leetcode第一刷_Best Time to Buy and Sell Stock III

    这道题还是挺难的,属于我前面提到的,给个数组,线性时间找出个什么东西,尽管上面的两个买卖股票也是这类.只是相比之下稚嫩多了.有关至少至多的问题比較烦人,不好想,等再做一些题,可能会发现什么规律.这道题 ...

  6. Ubuntu 16.04 LTS安装Eclipse配置Pydev

    原材料: 下载 jdk-8u121-linux-x64.tar.gz 下载 eclipse-jee-neon-2-linux-gtk-x86_64.tar.gz 1.安装jdk sudo mkdir ...

  7. 对JS闭包的理解

    闭包,是JS里很重要的一个概念,也是相对来讲不太容易理解的一个东西,不过即使难理解,我们也要迎难而上啊,嘿嘿,网上有很多文章都在讲闭包,我在看JS设计模式的时候,书里也着重讲了闭包,但是书里官方的的确 ...

  8. HDU 6078 Wavel Sequence 树状数组优化DP

    Wavel Sequence Problem Description Have you ever seen the wave? It's a wonderful view of nature. Lit ...

  9. ssh免密码访问

    ssh-copy-id命令 它可以把本地主机的公钥复制到远程主机的authorized_keys文件上,ssh-copy-id命令也会给远程主机的用户主目录(home)和~/.ssh, 和~/.ssh ...

  10. IOS中调用系统拨打电话发送短信

    一.调用打电话界面 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat ...