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

3 ビュー (過去 30 日間)
Susan
Susan 2021 年 4 月 1 日
コメント済み: Susan 2021 年 4 月 1 日
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);
Susan
Susan 2021 年 4 月 1 日
Thank you!!!!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeIntroduction to Installation and Licensing についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by