1 matlab
我有一个50个文件夹的目录,每个文件夹有50个文件.我有一个脚本来读取每个文件夹中的所有文件并保存结果,但我每次都需要输入文件夹名称.我可以使用任何循环或批处理工具吗?任何建议或代码非常感谢.
可能有一种更简洁的方法,但dir
命令的输出可以分配给变量.这给你一个结构,相关的字段是name
和isdir
.例如,假设顶级目录(包含50个文件的目录)中只包含文件夹,以下内容将为您提供第一个文件夹的名称:
folderList = dir();
folderList(3).name
Run Code Online (Sandbox Code Playgroud)
(请注意,folderList结构中的前两个条目将用于"."(当前目录)和".."(父目录),因此如果您想要第一个包含文件的目录,则必须转到第三项).如果您希望逐个浏览文件夹,可以执行以下操作:
folderList = dir();
for i = 3:length(folderList)
curr_directory = pwd;
cd(folderList(i).name); % changes directory to the next working directory
% operate with files as if you were in that directory
cd(curr_directory); % return to the top-level directory
end
Run Code Online (Sandbox Code Playgroud)
如果顶级目录包含文件和文件夹,那么你需要检查isdir
folderList结构中的每个条目 - 如果它是"1",它是一个目录,如果它是"0",它是一个文件.