alex_bn_lee

导航

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

参考: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   对文件名进行特定的查找。返回字符串数组。
相当于 shell 里面的 ls,显示当前文件夹内的所有文件夹和文件。
FILE_SEARCH(Path_Specification [, COUNT=variable ] [, /MARK_DIRECTORY ] /TEST_DIRECTORY ] [, /TEST_EXECUTABLE ][, /TEST_REGULAR ])
◈ TEST_REGULAR:仅包括文件
◈ TEST_DIRECTORY:仅包括文件夹
参考:IDL中File_Search函数用法详解
 

◈ 获取当前路径下的所有文件/文件夹:
  FILE_SEARCH()   
  FILE_SEARCH('*')
  FILE_SEARCH('F:\TestPath\*')

◈ 获取当前路径下的所有文件:
  FILE_SEARCH('*.*')        
  FILE_SEARCH(/TEST_REGULAR)

◈ 获取当前路径下的所有文件夹:
  FILE_SEARCH(/TEST_DIRECTORY)

 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])

   

posted on 2016-08-20 19:26  McDelfino  阅读(2104)  评论(1编辑  收藏  举报