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

8 visualizaciones (últimos 30 días)
Susan
Susan el 1 de Abr. de 2021
Comentada: Susan el 1 de Abr. de 2021
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?

Respuesta aceptada

meghannmarie
meghannmarie el 1 de Abr. de 2021
Editada: meghannmarie el 1 de Abr. de 2021
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 comentarios
meghannmarie
meghannmarie el 1 de Abr. de 2021
Look at the help for untar:
untar(tarfilename,outputfolder)
so you would have this:
untar(file,destinationdirectory);
Susan
Susan el 1 de Abr. de 2021
Thank you!!!!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Data Import and Export en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by