ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【IDL】File_Search函数用法详解

2022-06-08 17:33:57  阅读:168  来源: 互联网

标签:文件 Search File bmp IDL 文件夹 开头 TestPath


在利用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\一级文件夹

 

总结:

  • 使用‘*.*’只能搜到带后缀文件;
  • 使用‘*’会同时搜到文件夹路径,加入/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

标签:文件,Search,File,bmp,IDL,文件夹,开头,TestPath
来源: https://www.cnblogs.com/enviidl/p/16356480.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有