MATLAB搜索与压缩

MATLAB搜索与压缩,matlab,zip,Matlab,Zip,我想搜索所有.doc文件的目录和子目录,并使用MatLab将它们压缩到一个文件中。如果我使用zip()matlab函数,它只允许一个根目录。 ZIP(ZIPFILENAME,FILES,ROOTDIR) 1) 如何递归搜索子目录 2) 如何将所有zip文件添加到一个文件夹中 是否最好搜索所有.doc文件并将其移动到临时文件夹中,然后将其从该位置压缩?首先,使用dos(…)对所有.doc文件进行dir,包括所有子目录(选项/S),但只显示文件名,不显示其他信息(选项/B)。第一个输出参数是返回的状

我想搜索所有
.doc
文件的目录和子目录,并使用MatLab将它们压缩到一个文件中。如果我使用
zip()
matlab函数,它只允许一个根目录。
ZIP(ZIPFILENAME,FILES,ROOTDIR)

1) 如何递归搜索子目录

2) 如何将所有zip文件添加到一个文件夹中

是否最好搜索所有
.doc
文件并将其移动到临时文件夹中,然后将其从该位置压缩?

首先,使用
dos(…)
对所有.doc文件进行dir,包括所有子目录(选项
/S
),但只显示文件名,不显示其他信息(选项
/B
)。第一个输出参数是返回的状态,第二个输出参数是在命令行上返回的字符串:

[~, filenamesFromDos] = dos('dir *.doc /B/S');
其次,将该命令中的文件名提取为单元格数组。文件名由换行符(
\n
)分隔,路径可能包含空格,因此
'Whitespace',''

filenames
则是一个
,包含文件名字符串的
。使用此
我们可以调用内置的matlab函数
zip(…)

完成了

首先,使用
dos(…)
对所有.doc文件进行dir,包括所有子目录(选项
/S
),但只显示文件名,不显示其他信息(选项
/B
)。第一个输出参数是返回的状态,第二个输出参数是在命令行上返回的字符串:

[~, filenamesFromDos] = dos('dir *.doc /B/S');
其次,将该命令中的文件名提取为单元格数组。文件名由换行符(
\n
)分隔,路径可能包含空格,因此
'Whitespace',''

filenames
则是一个
,包含文件名字符串的
。使用此
我们可以调用内置的matlab函数
zip(…)


完成了

为什么要在MATLAB中压缩文件?这有点奇怪。是的,这更适合bash脚本。我希望使用simulink块,它将使用对.m脚本的回调,该脚本将收集所有模型报告文档文件并将它们压缩到一个文件夹中。另外,我没有使用Linux,我使用的是Windows PC,为什么要在MATLAB中压缩文件?这有点奇怪。是的,这更适合bash脚本。我希望使用simulink块,它将使用对.m脚本的回调,该脚本将收集所有模型报告文档文件并将它们压缩到一个文件夹中。另外,我没有使用Linux,我在Windows pc上
zip('zip_file.zip',filenames{1});