1

我有一个包含 50 个文件夹的目录,每个文件夹有 50 个文件。我有一个脚本可以读取每个文件夹中的所有文件并保存结果,但我每次都需要输入文件夹名称。我可以使用任何循环或批处理工具吗?非常感谢任何建议或代码。

4

1 回答 1

5

可能有一种更简洁的方法,但是dir可以将命令的输出分配给一个变量。这为您提供了一个结构,相关字段为nameand isdir。例如,假设顶级目录(包含 50 个文件的目录)中只有文件夹,下面将为您提供第一个文件夹的名称:

folderList = dir();
folderList(3).name

(请注意,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

如果顶级目录包含文件和文件夹,那么您需要检查isdirfolderList结构中的每个条目——如果为“1”,则为目录,如果为“0”,则为文件。

于 2012-08-16T03:18:40.290 回答