图片缩略图

展开文件和目录名称的通配符

版本1.0.0.0 (6.09 KB) 彼得·范·登·比格拉尔
展开文件和目录名称的通配符

1.8 k下载

更新2013年2月04

查看许可协议

编者按:这个文件被选为MATLAB中心本周精选

基于通配符的文件和目录名称的模式匹配
字符。该函数类似于使用
Unix shell和Python glob。Glob函数,但它可以处理更多
类型的通配符。

[LIST, ISDIR] = glob(FILESPEC)
返回单元格数组LIST,其中包含匹配的文件或目录
由字符串FILESPEC指定的路径。通配符可以用于
Basenames和目录部分。如果文件规范包含
目录部分,然后这些将包括在LIST中。
ISDIR是一个布尔值,大小与LIST相同
目录列表。

可以使用以下通配符:
*匹配零个或多个字符
?匹配任何单个字符
[ab12]匹配一个指定的字符
[^ab12]不匹配任何指定字符
[a-z]匹配字符范围中的一个字符
{a,b,c}匹配任意一个字符串a,b或c

所有以上通配符都不匹配文件分隔符。

**匹配零个或多个字符,包括文件分隔符。
这可以用于匹配零个或多个目录部分
并递归列出匹配的名称。

GLOB和DIR的区别:
GLOB支持目万博1manbetx录通配符。
* GLOB返回FILESPEC的目录部分。
GLOB返回一个匹配名称的单元格数组。
GLOB不返回启动的隐藏文件和目录
用”。',除非在FILESPEC中明确指定。
* GLOB不返回'。”和“. .”unless explicitly specified
文件规范。
GLOB在目录名后面添加一个文件分隔符。
* GLOB不返回目录的内容
指定目录。若要返回目录的内容,
添加末尾'/*'。
* GLOB仅在尾随文件时返回目录名
指定分隔符。
*在Windows上GLOB是不区分大小写的,但它返回
在定义名称的情况下完全匹配名称
文件系统。UNC路径的host和sharename的大小写
驱动器号的情况将按
文件规范。

一团(文件规范,“ignorecase”)
在Unix上,默认GLOB是区分大小写的。选择“ignorecase”
FILESPEC匹配不区分大小写。在Windows上,总是使用GLOB
忽略了。这个选项可以缩写为'-i'。

例子:
一团*。列出当前目录下所有的。M文件。

Glob baz/*列出子目录“baz”下的所有文件和目录。

水珠b * / *。列出所有以子目录名开头的。M文件
“b”。这个名单将包括
匹配的子目录。

水珠? z *。列出所有包含第二个字符的。M文件
是“z”。

水珠巴兹。[ch]匹配bazc和bazh

水珠测试。(^ ch)匹配测试。A,而不是test.c或test.h

水珠演示。[a - c]匹配演示。演示。b, demo.c

水珠测试。{foo,酒吧,baz}匹配测试。foo,测试。酒吧,test.baz

*列出当前目录下所有隐藏文件,
扣除”。”和“. .”

Glob */列出所有子目录。

Glob **递归列出所有文件和目录,
从当前目录开始(当前目录
名称、隐藏文件和隐藏目录为
除外)。

一团* *。列出目录树中任意位置的所有M文件,
包括当前目录中的m文件。这
等于'**/*.m'。

Glob foo/**/递归列出所有目录,从in开始
目录“foo”。

一团* * /。Svn /列出目录树中所有的。Svn目录。

一团* * /。*/**递归列出隐藏目录中的所有文件
只有。

(r d) =一团(* *)
R (~d)获取目录树中的所有文件。

众所周知的局限:
当使用'**'时,符号链接目录或连接可能导致
一个无限循环。

参见dir

引用作为

彼得·范登·比格拉尔(2021)。展开文件和目录名称的通配符(//www.tianjin-qmedu.com/matlabcentral/fileexchange/40149-expand-wildcards-for-files-and-directory-names), MATLAB中央文件交换。检索

MATLAB版本兼容性
创建R2008a
与任何版本兼容
平台的兼容性
窗户 macOS Linux

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!