Decompressing *.7Z Files with MATLAB
Mostrar comentarios más antiguos
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
Respuesta aceptada
Más respuestas (1)
Jake August
el 19 de Abr. de 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] );
3 comentarios
ZHIWEI WANG
el 11 de Jun. de 2021
It works well!
Verena Schwachmeyer
el 13 de Jun. de 2022
Hi Jake August,
thank you. Your solution works for me - but only if I run it once. When this operation is part of an iteration, Matlab freezes during the second loop. Do you have an idea why that is and how to fix it?
-Verena
Walter Roberson
el 13 de Jun. de 2022
Perhaps using .NET Systems.Diagnostic.Process() to start the process instead of system()
Categorías
Más información sobre MATLAB Support Package for USB Webcams en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!