IDL中File_Search函数用法详解(转)
来自:http://blog.sina.com.cn/s/blog_764b1e9d01014ajp.html
在利用IDL进行批处理时,通常用到file_search函数进行输入路径文件的搜索,现根据IDL帮助和测试,总结用法如下。
补充更新内容:
搜索'F:\testpath'中根目录下的所有文件
方法1:利用CD命令,把要搜索的目标路径修改为当前路径,示例如下:
IDL> CD, 'F:\TestPath'
IDL> print, file_search('*.*')
F:\TestPath\C开头文件.jnt
F:\TestPath\a开头文件.pptx
F:\TestPath\b开头文件.bmp
F:\TestPath\一级文件.txt
方法2:File_Search输入参数为“路径+适配符”
IDL> print, file_search('F:\TestPath\*.*')
F:\TestPath\C开头文件.jnt
F:\TestPath\a开头文件.pptx
F:\TestPath\b开头文件.bmp
F:\TestPath\一级文件.txt
方法3:方法2中存在弊端,搜索结果不包含无后缀文件,改进如下:
IDL> print, file_search('F:\TestPath\*', /TEST_REGULAR)
F:\TestPath\C开头文件.jnt
F:\TestPath\a开头文件.pptx
F:\TestPath\b开头文件.bmp
F:\TestPath\一级文件.txt
注:如果不加/TEST_REGULAR关键字,会把路径下的文件夹也搜索出来,如下所示:
IDL> print, file_search('F:\TestPath\*')
F:\TestPath\C开头文件.jnt
F:\TestPath\a开头文件.pptx
F:\TestPath\b开头文件.bmp
F:\TestPath\一级文件.txt
F:\TestPath\一级文件夹
总结:
l 使用‘*.*’只能搜到带后缀文件;
l 使用‘*’会同时搜到文件夹路径,加入/TEST_REGULAR关键字,可以控制结果只有文件。
搜索'F:\testpath'中所有文件和文件夹
IDL> print, file_search('F:\TestPath','*')
F:\TestPath\C开头文件.jnt
F:\TestPath\a开头文件.pptx
F:\TestPath\b开头文件.bmp
F:\TestPath\一级文件.txt
F:\TestPath\一级文件夹
F:\TestPath\一级文件夹\二级文件.bmp
F:\TestPath\一级文件夹\二级文件夹
F:\TestPath\一级文件夹\二级文件夹\三级文件.jnt
搜索所有文件,包含子文件夹下的
IDL> print, file_search('F:\TestPath','*.*')
F:\TestPath\C开头文件.jnt
F:\TestPath\a开头文件.pptx
F:\TestPath\b开头文件.bmp
F:\TestPath\一级文件.txt
F:\TestPath\一级文件夹\二级文件.bmp
F:\TestPath\一级文件夹\二级文件夹\三级文件.jnt
搜索特定后缀文件
IDL> print, file_search('F:\testpath', '*.bmp')
F:\TestPath\b开头文件.bmp
F:\TestPath\一级文件夹\二级文件.bmp
只搜索文件夹路径,关键字/test_directory
IDL> print, file_search('F:\testpath', '*', /test_directory)
F:\TestPath\一级文件夹
F:\TestPath\一级文件夹\二级文件夹
搜索指定开头字符的文件
a) 搜索开头字符a~c的文件
IDL> print, file_search('F:\TestPath','[a-c]*')
F:\TestPath\a开头文件.pptx
F:\TestPath\b开头文件.bmp
F:\TestPath\c开头文件.jnt
b) 搜索开头字符为a、c的文件
IDL> print, file_search('F:\TestPath','[a,c]*')
F:\TestPath\a开头文件.pptx
F:\TestPath\c开头文件.jnt
搜索指定一系列后缀名的文件,bmp和txt之间不能有空格
IDL> print, file_search('F:\TestPath','/*.{bmp,txt}')
F:\TestPath\b开头文件.bmp
F:\TestPath\一级文件.txt
F:\TestPath\一级文件夹\二级文件.bmp
搜索含有Windows短后缀名的文件,例如pptx(ppt)
IDL> print, file_search('F:\TestPath\','*.ppt', /windows_short_names)
F:\TestPath\a开头文件.pptx
搜索可执行文件,即exe文件
IDL> print, file_search('F:\TestPath', '*.*', /test_executable)
F:\TestPath\一级文件夹\二级可执行文件.exe
IDL中File_Search函数用法详解(转)的更多相关文章
- php中setcookie函数用法详解(转)
php中setcookie函数用法详解: php手册中对setcookie函数讲解的不是很清楚,下面是我做的一些整理,欢迎提出意见. 语法: bool set ...
- SQL中CONVERT()函数用法详解
SQL中CONVERT函数格式: CONVERT(data_type,expression[,style]) 参数说明: expression 是任何有效的 Microsoft® SQL Server ...
- SQLServer中merge函数用法详解
http://www.jb51.net/article/75302.htm Merge关键字是一个神奇的DML关键字.它在SQL Server 2008被引入,它能将Insert,Update,Del ...
- php中fopen函数用法详解(打开文件)
介绍下php中的fopen函数. 1.resource fopen(string $filename, string $mode [,bool $use_include_path [, resou ...
- Python中enumerate函数用法详解
enumerate函数用于遍历序列中的元素以及它们的下标,多用于在for循环中得到计数,enumerate参数为可遍历的变量,如 字符串,列表等 一般情况下对一个列表或数组既要遍历索引又要遍历元素时, ...
- delphi中Application.MessageBox函数用法详解
delphi中Application.MessageBox函数用法详解 Application.MessageBox是TApplication的成员函数,声明如下:functionTApplicati ...
- c++中vector的用法详解
c++中vector的用法详解 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间 ...
- eval()函数用法详解
eval()函数用法详解:此函数可能使用的频率并不是太高,但是在某些情况下具有很大的作用,下面就介绍一下eval()函数的用法.语法结构: eval(str) 此函数可以接受一个字符串str作为参数, ...
- 转载 LayoutInflater的inflate函数用法详解
http://www.open-open.com/lib/view/open1328837587484.html LayoutInflater的inflate函数用法详解 LayoutInflater ...
随机推荐
- [Hive - LanguageManual] Create/Drop/Alter -View、 Index 、 Function
Create/Drop/Alter View Create View Drop View Alter View Properties Alter View As Select Version info ...
- C# 颜色转换
十六进制颜色与Color对象的互相转换[C#] C#十六进制颜色与Color对象的互相转换 把十六进制颜色转化为color对象ColorTranslator.FromHtml("#FF0 ...
- 卸载 Cloudera Manager 5.1.x.和 相关软件【官网翻译】
问题导读: 1.不同的安装方式,卸载方法存在什么区别?2.不同的操作系统,卸载 Cloudera Manager Server and 数据库有什么区别? 重新安装不完整如果你来到这里,因为你的安装没 ...
- 解决问题的步骤(第一篇)-- clwu
现象: 之前打开IE 还是正常的,但前几天开始打开就不正常了,报错如下. 处理(别人的)问题的步骤: 百度一下 0xc0000018,没有什么有用信息. 看一下程序(IE)启动时做了些什么. 怎么看 ...
- mac 添加安卓设备的支持
1. 把android设备插到mac电脑上 2. 首先可以看一下之前在该mac电脑上有没有添加过这个 , 命令 : adb devices 如果显示出,下面字样,说明之前添加过了,下面就可以 ...
- gulp之静态资源防缓存处理
最近,因为校友网项目开始有些规模了.开始就要考虑对静态资源进行工程自动化的管理.一讲到前端的自动化工具,大家或许都会想到Grunt,Gulp,或者百度的FIS.这三个都有各自的特点,大家可以依据自己的 ...
- LINUX如何查看其他用户的操作
我们知道可以使用history命令,查看自己的操作记录,但如果你是root用户,如何查看其它用户的操作记录呢? 其实history命令只是把当前用户目录下的~/.bash_History文件内容列 ...
- thymeleaf中的th:assert用法
th:assert 断言标签 th:assert属性可以指定一个以逗号分隔的表达式对其进行评估并生产适用于每一个评价,如果不抛出异常 <div th:assert="${onevar} ...
- thymeleaf比较符号问题
比较器与平等: 值表达可以是>.<.> =.< =符号,像往常一样,也是= =和!=操作符可以用来检查平等,但是>.<.> =.< =不能用,要用gt ...
- << 移位运算
/** * The maximum capacity, used if a higher value is implicitly specified * by either of the constr ...