博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【215】◀▶ IDL 文件操作说明 (黑底)
阅读量:5885 次
发布时间:2019-06-19

本文共 5450 字,大约阅读时间需要 18 分钟。

参考:


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

序号 名称  

功能说明

   语法 & 举例
01  

修改当前的工作空间路径。

CD [, Directory] [, CURRENT=variable]

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

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

对文件名进行特定的查找。返回字符串数组。

相当于 shell 里面的 ls,显示当前文件夹内的所有文件夹和文件。
----------------------------------------------------------------------------------

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

Result = FILE_SEARCH(Path_Specification)

or for recursive searching,

Result = FILE_SEARCH(Dir_Specification, Recur_Pattern)

Keywords: [, =variable ] [, / ] [, / ] [, / ] [, / ] [, / ] [, / ] [, / | / ] [, / ] [, / ] [, / ] [, / ] [, / ] [, / ] [, / ] [, / ] [, / ]

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

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

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

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

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

 

◈  Path_Specification:路径字符串,可以包含通配符,如果为空则会默认为"*";如果指定绝对路径,结果也是绝对路径,如果是相对路径,结果只有文件名。

◈  Dir_Specification:文件夹路径字符串,执行递归查询。
◈  Recur_Pattern:递归查询内容,允许通配符,空相当于"*"。
◈  TEST_REGULAR:仅包括文件。
◈  TEST_DIRECTORY:仅包括文件夹。
◈  COUNT:文件总数。
◈  FULLY_QUALIFY_PATH:添加完整路径
◈  MARK_DIRECTORY:会在文件夹路径后面添加"/"。
◈  TEST_ZERO_LENGTH:仅返回0长度的文件,文件夹会被返回。
----------------------------------------------------------------------------------

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

参考:

 
◈ 获取当前路径下的所有文件/文件夹:  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, 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, 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, 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, File1 [,... FileN] [, /NOEXPAND_PATH]

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

判断文件是否存在,返回布尔值。(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(Path [, RemoveSuffix])
RemoveSuffix:删除的后缀部分,可以用来删除文件的扩展名
 
◈ 返回值:dist.pro  FILE_BASENAME('C:\idl\lib\dist.pro')◈ 返回值:dist  FILE_BASENAME('C:\idl\lib\dist.pro', '.pro')
 09   返回文件路径所在的文件夹路径。
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(Path)
 

 

◈ 返回值:D:\Mc\IDL\1.jpg  FILE_EXPAND_PATH('1.jpg')
 11  

返回给定文件/文件夹的属性信息。(路径、大小等)

FILE_INFO(Path [, /NOEXPAND_PATH] )
◈ NOEXPAND_PATH:不显示路径,只显示文件名称

   
 12  

返回指定文件的行数。(文本文件)

FILE_LINES(Path [, /COMPRESS] [, /NOEXPAND_PATH])

   
 13  

返回当前编译过程或函数的完整路径。

ROUTINE_FILEPATH([Routine] [, /EITHER] [, /IS_FUNCTION])

   
14  

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

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

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

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

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

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

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

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

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

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

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

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

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

CD [, Directory] [, =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, cD:\CODES\IDL
   

获取和设置剪切板内容。

   
   

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

   
   

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

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

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

   

 

转载于:https://www.cnblogs.com/alex-bn-lee/p/5802416.html

你可能感兴趣的文章
U盘安装SLES的方法
查看>>
ANDROID (eclipse)开发常见问题及解决办法汇总
查看>>
The connection to adb is down, and a severe error has occured. 问题解决
查看>>
在Jenkins中配置运行远程shell命令
查看>>
代码杂记
查看>>
linux中防CC攻击两种实现方法(转)
查看>>
《Programming WPF》翻译 第9章 4.模板
查看>>
hdu2159
查看>>
教你看懂 OpenStack 日志 - 每天5分钟玩转 OpenStack(29)
查看>>
Windows7+VS2012下OpenGL 4的环境配置
查看>>
Maven for Eclipse 第一章 ——Maven的介绍
查看>>
Linux Kernel中断子系统来龙去脉浅析【转】
查看>>
Linux NFS服务器的安装与配置
查看>>
Ada boost学习
查看>>
Unity中SendMessage和Delegate效率比较
查看>>
Linux下EPoll通信模型简析
查看>>
react-native 制作购物车ShopCart
查看>>
Linux服务器 java生成的图片验证码乱码问题
查看>>
【转】QT中QDataStream中浮点数输出问题
查看>>
未关闭InputStream 引起的血案
查看>>