麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

IDL使用file_search函数遍历某个文件夹下的所有文件

写IDL程序的时候经常遇到需要读取某个目录下的所有文件,如果文件过多,挨个写会很麻烦,这时候可以使用file_search函数来遍历整个文件夹。

示例:

filearr = file_search('d:\file\','*.gz',count=num);

说明:

filearr是一个数组,里面存放着 d:\file\ 目录中所有的后缀名为.gz的文件的详细路径。

详细的方法可以使用IDL自带的help,下面是详细的使用示例:

  • 搜索当前目录下的所有文件
IDL>;获得当前工作目录
IDL> cd,current = workDir
IDL>;输出查看工作目录
IDL> print,workDir
C:\Users\Administrator
IDL>;搜索工作目录下的所有文件,统计结果到变量num中
IDL> r = file_search(count = num)
IDL>;查看统计个数
IDL> print,num
30
IDL>;各文件名称以字符串方式存储在返回值r中
IDL> help,r
R STRING = Array[30]
  • 搜索文件夹“c:\temp”下的所有文件和文件夹;
IDL> r = file_search('c:\temp','*',count = num)
IDL>;查看统计个数
IDL> print,num
8
IDL>;输出完整路径名
IDL> print,r
C:\temp\a.txt C:\temp\aaa.pro C:\temp\aba.pro C:\temp\文件夹1 C:\temp\文件夹1\c.pro C:\temp\文件夹1\d.pro
C:\temp\文件夹1\文件夹2 C:\temp\文件夹1\文件夹2\e.pro
  • 搜索文件夹“c:\temp”下的所有文件,不包含文件夹;
IDL> r = file_search('c:\temp','*',count = num,/test_regular)
IDL>;查看统计个数
IDL> print,num
6
IDL>;输出完整路径名
IDL> print,r
C:\temp\aaa.pro C:\temp\aba.pro C:\temp\可执行.exe C:\temp\文件夹1\c.pro C:\temp\文件夹1\d.pro C:\temp\文件夹1\文件夹2\e.pro
  • 搜索文件夹“c:\temp”下的所有文件夹,不包含文件;
IDL> r = file_search('c:\temp','*',count = num,/test_directory)
IDL>;查看统计个数
IDL> print,num
2
IDL> print,r
C:\temp\文件夹1 C:\temp\文件夹1\文件夹2
  • 搜索文件夹“c:\temp”中的所有文件,不搜索子目录;
IDL> r = file_search('*',count = num,/test_regular)
IDL>;查看统计个数
IDL> print,num
3
IDL> print,r
aaa.pro aba.pro 可执行.exe
  • 搜索文件夹“c:\temp”中的所有可执行文件(Windows下文件后缀为exe);
IDL> r = file_search('*',count = num,/test_executable,/test_regular)
IDL>;查看统计个数
IDL> print,num
1
IDL> print,r
可执行.exe
  • 搜索文件夹“c:\temp”中的扩展名为“.pro”的文件;
IDL> r = file_search('*.pro',count = num,/test_regular)
IDL>;查看统计个数
IDL> print,num
2
IDL> print,r
aaa.pro aba.pro
  • 搜索文件夹“c:\temp”中的名称中含有“b”的所有文件;
IDL> r = file_search('*b*',count = num,/test_regular)
IDL>;查看统计个数
IDL> print,num
1
IDL> print,r
aba.pro

参考:http://blog.sciencenet.cn/blog-344887-630319.html

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)