How to extract contents of multiple tar files in a loop?

10 次查看(过去 30 天)
Hello Everyone,
I have multiple .tar.gz files that I'd like to extract contentes of them. For one file I use
path = 'C:\Users\data\example.tar.gz';
gunzip(path, 'example');
untar('example/example.tar','example');
However, I have many of these files (each one has a specific name) and I don't want to go through all of them one by one. I tried to use the following code in a for loop but no luck so far since these are not folders but .tar.gz files
D = 'C:\Users\data\';
S1 = dir(fullfile(D,'*'))
N1 = setdiff({S1([S1.isdir]).name},{'.','..'})
Any idea how I can do that?

采纳的回答

meghannmarie
meghannmarie 2021-4-1
编辑:meghannmarie 2021-4-1
Do you mean something like this?
input_folder = 'C:\Users\data\';
file_struct = dir([input_folder '/**/*.tar.gz']);
file_names = {file_struct.name};
files = fullfile({file_struct.folder},file_names);
for f = 1:numel(files)
file = files{f};
untar(file);
end
  4 个评论
meghannmarie
meghannmarie 2021-4-1
Look at the help for untar:
untar(tarfilename,outputfolder)
so you would have this:
untar(file,destinationdirectory);

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Data Import and Export 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by