matlab dir怎么用?

matlab dir怎么用?,第1张

Matlab使用dir函数获得指定文件裤衫陵陵夹下的所有子文件夹和文件,并存放在在一种为文件结构体数组中。

一:dir函胡汪腔数可以有调用方式为:

dir('.')列出当前目录下所有子文件夹和文件。

dir('G:\Matlab')列出指定目录下所有子文件夹和文件。

dir('*.m')列出当前目录下符合正则表达式的文件夹和文件。

二:示例代码如下:

src=uigetdir('choose the dir')  

cd(src)  

allname=struct2cell(dir('*.jpg'))  

[k len]=size(allname)  

for i=1:len  

    name=allname{1,i}  

    I=imread(name)  

    figure(i)  

    imshow(I)  

end

题意理解:希望批量提取所有文件(注:特定某类文件),并批量建立超链接,当发给对方时,对方可以直接打开文件(注:双方对于文件路径均有共享权)

解法(该解法针对批量提取某类特定文件或所有文件,并批量建立超链接):

一. 批量提取文件

方法一. 微软WIN 8或者WIN 10 *** 作系统,可以借助自带功能实现批量获取文件夹内文件路径:选择全部文件或某类文件,同时按住shift和鼠标右键,会出现“复制为路径”的选项。

WIN 8或者WIN 10 *** 作系统获取文件路径

然后将路径粘贴到Excel中:

路径粘贴到Excel中

方法二. 没有“复制至路径”功能的微软电脑 *** 作系统,可以通过文件内容为“dir *.xlsx/s/on/b>文件路径dirxlsxsonb.txt”的.bat文件" highlight="true">bat文件获得,步骤如下:

1. 在欲得到宏乎文件路径的文件夹内新建一个txt文件

2. 在该文件内输入内容为“dir /s/on/b>获取路径.txt”

3. 该文件保存后改后缀为“.bat”

4. 运行该 bat 文件

5. 在“xlsx文件路径.txt”中复制所有内容

6. 粘贴在 Excel 文件中

7. 以“简历表”所有文件为例(若是“dir”改成“dir *.xlsx”则提取所判绝历有 xlsx文件的路径)

● 在“简历表”文件夹内新建一个TXT文档;

● 输入内容:“dir /s/on/b>获取路径.txt”;

● 保存后关闭,将txt文档后缀名改为.bat

● 双击生成的bat文件运行,将得到一个命名为“获取路径.txt”文件,打开后,可看到文件列表路径,复制到Excel中即可。

“简历表”文件夹内所有文件

二. 批量超链接

1. 在粘贴了文件路径的 Excel 文件内,在含文件路径的文件名单元格的相邻单元格内键入公式“=Hyperlink(Link-location,[Friendly-name])”

2. 以“简历表”的路径为例(注:公式中的“[Friendly-name]”即“A2”可以省去)

批量超链接公式

三. 针对题述要求的解法

1. 从图片上看,题述文件所在电脑 *** 作系统应该是 win7,所以可以用上述“批量提取文件”的“方法一”,即:

2. 在“A0101板材类”文件夹下,选取所有 .xlsx 文件,同时按住shift和鼠标右键,当出现“复制为路径”的选项时,鼠标左键点击该选项掘搜。

3. 在 Excel 文件内粘贴后,在其右边相邻的单元格内,键入公式“=Hyperlink(Link-location,[Friendly-name])”并下拉

如何获取指定目录包含的文件和子目录 DirectoryInfo GetFiles() 获取目录中(不包含子目录)的文件 返回类型为FileInfo[] 支持通配符查找 DirectoryInfo GetDirectories() 获取目录(不包含子目录)的子目录 返回类型为DirectoryInfo[] 支持通配符查找 DirectoryInfo GetFileSystemInfos() 获取指定目录下(不包含子目录)的文件和子目录 返回类型为FileSystemInfo[] 支持通配符查找 如何获取指定文件的基本信息 FileInfo Exists 获取晌肢指定文件是否存在 FileInfo Name FileInfo Extensioin 获取文件的名称和扩展名 FileInfo FullName 获取文件的全限定名称(完整路径) FileInfo Directory 获取文件所在目录 返回类型为DirectoryInfo FileInfo DirectoryName 获取文件所在目录的路径(完整路径) FileInfo Length 获取文件的大小(字节数) FileInfo IsReadOnly 获取文件是否只读 FileInfo Attributes 获取或设置指定文件的属性 返回类型为FileAttributes枚举 可以是多个值的组合 FileInfo CreationTime FileInfo LastAccessTime FileInfo LastWriteTime 分别用于获取文件的创建时间 访问时间 修改时间 遍历文件夹 文件夹是树形结构 遍历算法宴模世有 广度优先级和深度优先级 区别 广度首先查找同一层目录 深度首先遍历一条分支 有了这个区别 就可以确定链表的插入位置 即广度遍历插入点总在末尾 深度遍历插入点在首部 详细看代码 public static void searchFile(String path List<Object>resultList) { File file = new File(path)if (file isDirectory()) { LinkedList<File[]>levelLinked = new LinkedList<码携File[]>()levelLinked add(file listFiles())do { File[] childFiles = levelLinked remove( )for (File cf : childFiles) { if (cf isDirectory()) { // 此处控制遍历的方向 levelLinked add(cf listFiles())// 广度 // levelLinked add( cf listFiles())//深度 } else { String fileName = cf getName()// 文件名 有后缀 String filePath = cf getAbsolutePath()// 绝对路径 String fileParent = cf getParent()// 上层路径 注意最后的 / // 比较算法 找到后放入集合 String[] sf = { fileName fileParent filePath }resultList add(sf)} } } while (levelLinked size() >)} } 此处加入一些API提供的工具类 希望有用 多后缀判断 如 java class js等 String[] hz = {java class js}Arrays sort(hz)//下面的搜索需要排序 例如 class的顺序在java之前 如果不sort() class文件不会被查找 Arrays binarySearch(hz fn_)//fn_文件后缀 如果明确目录的层次结构简单 递归算法也是不错的选择 个人觉得 文件的搜索 应该单独起线程

//////////////////////// 采用递归的方式遍历 文件夹和子文件中的所有文件 public void FindFile(string dirPath) //参数dirPath为指定的目录 { //在指定目录及子目录下查找文件 在listBox 中列出子目录及文件 DirectoryInfo Dir=new DirectoryInfo(dirPath)try { foreach(DirectoryInfo d in Dir GetDirectories()//查找子目录 { FindFile(Dir+d ToString()+"")listBox Items Add(Dir+d ToString()+"")//listBox 中填加目录名 } foreach(FileInfo f in Dir GetFiles("* ")) //查找文件 { listBox Items Add(Dir+f ToString())//listBox 中填加文件名 } } catch(Exception e) { MessageBox Show(e Message)}

}

用下面代码限制文件的类型 foreach(FileInfo f in Dir GetFiles("* ")) //查找文件

“* ”指要访问的文件的类型的扩展名 /////////////////////////////// 代码改成如下 会不会好一点

DirectoryInfo TheFolder=new DirectoryInfo(folderFullName)

DirectoryInfo[] dirInfo = TheFolder GetDirectories()//遍历文件夹 foreach(DirectoryInfo NextFolder in dirInfo) this listBox Items Add(NextFolder Name)

lishixinzhi/Article/program/net/201311/14311


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/12143883.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存