来自:http://blog.sina.com.cn/s/blog_764b1e9d01014ajp.html

在利用IDL进行批处理时,通常用到file_search函数进行输入路径文件的搜索,现根据IDL帮助和测试,总结用法如下。

补充更新内容:

搜索'F:\testpath'中根目录下的所有文件

方法1:利用CD命令,把要搜索的目标路径修改为当前路径,示例如下:

IDL> CD, 'F:\TestPath'

IDL> printfile_search('*.*')

F:\TestPath\C开头文件.jnt

F:\TestPath\a开头文件.pptx

F:\TestPath\b开头文件.bmp

F:\TestPath\一级文件.txt

方法2:File_Search输入参数为“路径+适配符”

IDL> printfile_search('F:\TestPath\*.*')

F:\TestPath\C开头文件.jnt

F:\TestPath\a开头文件.pptx

F:\TestPath\b开头文件.bmp

F:\TestPath\一级文件.txt

方法3:方法2中存在弊端,搜索结果不包含无后缀文件,改进如下:

IDL> printfile_search('F:\TestPath\*', /TEST_REGULAR)

F:\TestPath\C开头文件.jnt

F:\TestPath\a开头文件.pptx

F:\TestPath\b开头文件.bmp

F:\TestPath\一级文件.txt

注:如果不加/TEST_REGULAR关键字,会把路径下的文件夹也搜索出来,如下所示:

IDL> printfile_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> printfile_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> printfile_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> printfile_search('F:\testpath', '*.bmp')

F:\TestPath\b开头文件.bmp

F:\TestPath\一级文件夹\二级文件.bmp

只搜索文件夹路径,关键字/test_directory

IDL> printfile_search('F:\testpath', '*', /test_directory)

F:\TestPath\一级文件夹

F:\TestPath\一级文件夹\二级文件夹

搜索指定开头字符的文件

a)   搜索开头字符a~c的文件

IDL> printfile_search('F:\TestPath','[a-c]*')

F:\TestPath\a开头文件.pptx

F:\TestPath\b开头文件.bmp

F:\TestPath\c开头文件.jnt

b)   搜索开头字符为a、c的文件

IDL> printfile_search('F:\TestPath','[a,c]*')

F:\TestPath\a开头文件.pptx

F:\TestPath\c开头文件.jnt

搜索指定一系列后缀名的文件,bmp和txt之间不能有空格

IDL> printfile_search('F:\TestPath','/*.{bmp,txt}')

F:\TestPath\b开头文件.bmp

F:\TestPath\一级文件.txt

F:\TestPath\一级文件夹\二级文件.bmp

搜索含有Windows短后缀名的文件,例如pptx(ppt)

IDL> printfile_search('F:\TestPath\','*.ppt', /windows_short_names)

F:\TestPath\a开头文件.pptx

搜索可执行文件,即exe文件

IDL> printfile_search('F:\TestPath', '*.*', /test_executable)

F:\TestPath\一级文件夹\二级可执行文件.exe

IDL中File_Search函数用法详解(转)的更多相关文章

  1. php中setcookie函数用法详解(转)

    php中setcookie函数用法详解:        php手册中对setcookie函数讲解的不是很清楚,下面是我做的一些整理,欢迎提出意见.        语法:        bool set ...

  2. SQL中CONVERT()函数用法详解

    SQL中CONVERT函数格式: CONVERT(data_type,expression[,style]) 参数说明: expression 是任何有效的 Microsoft® SQL Server ...

  3. SQLServer中merge函数用法详解

    http://www.jb51.net/article/75302.htm Merge关键字是一个神奇的DML关键字.它在SQL Server 2008被引入,它能将Insert,Update,Del ...

  4. php中fopen函数用法详解(打开文件)

    介绍下php中的fopen函数. 1.resource  fopen(string  $filename, string $mode [,bool $use_include_path [, resou ...

  5. Python中enumerate函数用法详解

    enumerate函数用于遍历序列中的元素以及它们的下标,多用于在for循环中得到计数,enumerate参数为可遍历的变量,如 字符串,列表等 一般情况下对一个列表或数组既要遍历索引又要遍历元素时, ...

  6. delphi中Application.MessageBox函数用法详解

    delphi中Application.MessageBox函数用法详解 Application.MessageBox是TApplication的成员函数,声明如下:functionTApplicati ...

  7. c++中vector的用法详解

    c++中vector的用法详解 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间 ...

  8. eval()函数用法详解

    eval()函数用法详解:此函数可能使用的频率并不是太高,但是在某些情况下具有很大的作用,下面就介绍一下eval()函数的用法.语法结构: eval(str) 此函数可以接受一个字符串str作为参数, ...

  9. 转载 LayoutInflater的inflate函数用法详解

    http://www.open-open.com/lib/view/open1328837587484.html LayoutInflater的inflate函数用法详解 LayoutInflater ...

随机推荐

  1. HDU ACM Eight

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1043 解题背景: 看到八数码问题,没有任何的想法,偶然在翻看以前做的题的时候发现解决过类似的一道题,不 ...

  2. 引擎 innodb 与 myisam 的区别

    使用innodb引擎 , 查询800万数据的统计: 将innodb 引擎 改成 MyISAM引擎: alter table test_count engine = MyISAM;

  3. java 拷贝功能

    java 中的 拷贝分为浅拷贝 和 深拷贝 浅拷贝需要实现Cloneable接口,深拷贝需要实现Serializable接口. public class Square implements Clone ...

  4. work_5

    第五次作业对我个人来说是很难的,因为之前没怎么接触过这方面的内容,有幸能跟宗毅组成一队,我也仔细看了他的Python代码,因为对于Python也是第一次接触,所以我感觉在有限的时间里学会并且灵活运用还 ...

  5. 【转】你真的了解iOS代理设计模式吗?

    转自:http://www.cocoachina.com/ios/20160317/15696.html 在项目中我们经常会用到代理的设计模式,这是iOS中一种消息传递的方式,也可以通过这种方式来传递 ...

  6. nyoj 20 吝啬的国度

    吝啬的国度 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来.现在,Tom在第S号城市, ...

  7. 面试之BI-SQL--table转换

    题目如下: Num 1 2 4 6 7 8 10 11 13 写条SQL语句转成下表: Column1  Column2 1              2 4              4 6     ...

  8. UVaLive 7375 Hilbert Sort (递归,四分图,模拟)

    题意:告诉你一条希尔伯特曲线的大小,然后给你n 个人,及n 个人的坐标,你的起点是左下角,终点是右下角,按照希尔伯特的曲线去走,按照这个顺序给n个人排序, 按顺序输出每个人的名字! 析:这就是一个四分 ...

  9. javascript:history.go(-1);

    history是你浏览过的网页的url(简单的说就是网址)的集合,也就是你的浏览器里的那个历史记录.它在js里是一个内置对象,就跟document一样,它有自己的方法,go就是其中一个. 这个方法的参 ...

  10. CSS3教程:Transform的perspective属性设置

    1 2   <div id="animateTest" style="-webkit-transform: perspective(400px) rotateY(4 ...