MATLAB Answers

0

Decompressing *.7Z Files with MATLAB

Asked by Matlab2010 on 28 Oct 2014
Latest activity Commented on by Walter Roberson
on 7 May 2019
I have a 7z file. I wish to decompress it using Matlab. How can I do this? The inbuilt matlab functions dont support it.
I have tried,
[status,result] = system(['"C:\Program Files\WinRAR\UnRAR.exe" e ' E:\myFile.7z ' >null']);
however this fails as it gives
result =
UNRAR 5.11 freeware Copyright (c) 1993-2014 Alexander Roshal
E:\myFile.7z is not RAR archive
No files to extract
On closer inspection unrar.exe is not the same as winrar (which can do 7z). Hence i download 7-zip
[status,result] = system(['"C:\Program Files\7-Zip\7z.exe" e ' E:\myFile.7z]);
result =
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
Processing archive: E:\myFile.7z
Error: Can not open file as archive
any ideas?
thanks

  0 Comments

Sign in to comment.

Tags

2 Answers

Answer by Matlab2010 on 29 Oct 2014
Edited by Matlab2010 on 22 Nov 2014
 Accepted Answer

solved:
[status,result] = system(['"C:\Program Files\7za920\7za.exe" -y x ' '"' filename{f} '"' ' -o' '"' outputDir '"']);
Also, just in case anyone finds it useful, compressing a file with winrar is done by:
[status,result] = system(['"C:\Program Files\WinRAR\Rar.exe" a ' 'C:\Users\user\Desktop\8736_test.rar ' ' C:\Users\user\Desktop\8736.mat' ' >null']);

  2 Comments

How to extract .bz2 files in matlab
Could somebody help?
system() out to the appropriate bzip2 or bunzip program with the appropriate options
It appears that some versions of gzip can handle .tar.bz2 files when given appropriate options.

Sign in to comment.


Answer by Jake August on 19 Apr 2016

This was very helpful. Someone else looking might find this useful.
% for 7zip 15.14 x64
file7z = 'D:\my.7z';
% rest of code
[dir7z,~,~] = fileparts( file7z );
dir7z = ['"' dir7z '"'];
file7z = ['"' file7z '"'];
[status,cmdout] = system( ['"C:\Program Files\7-Zip\7z.exe" x -o',dir7z,' ',file7z] );

  0 Comments

Sign in to comment.