gunzip subfolders at once

4 次查看(过去 30 天)
Dave
Dave 2021-10-12
评论: Dave B 2021-10-12
Hello, I have gz files stored in many sub-sub-folders; is there way I can gunzip all files at once into a single folder single_folder without looping over each sub-sub-folder?
C:\Main\Data\subf1\subf2\subf3\subf4\subf5\subf6
The gz files are in subf6
To use gunzip I have to be in subf6
filenames = gunzip(????,'single_folder');
Is there a way to gunzip standing in subf1?

采纳的回答

Dave B
Dave B 2021-10-12
编辑:Dave B 2021-10-12
You can pass wildcards to gunzip (note that the first example does exactly this):
fp = 'C:\Main\Data\subf1\subf2\subf3\subf4\subf5\subf6';
gunzip(fullfile(fp,'*.gz'),'single_folder'); % or maybe you want the output to be fullfile(fp, 'single_folder')?
  3 个评论
Dave
Dave 2021-10-12
on a second note, that is helpful enough since looping does not override single_folder
danke
Dave B
Dave B 2021-10-12
Sounds like it works, sorry I misunderstood the question!
For future reference an alternative strategy is to build up the list of files and pass the list to gunzip
fl=dir(fullfile(fp,'**/*.gz')
fl=fullfile({fl.folder},{fl.name});
gunzip(fl,'single_folder')

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Downloads 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by