Convert .tar.gz/.tar.bz2 to .7z in batch?

2

How do I convert .tar.gz and .tar.bz2 files to .7z files using the command line?

user541686

Posted 2011-06-26T08:20:33.650

Reputation: 21 330

3

You might be able to edit this script converting from zip to fit your demands? Also there is an online converter supporting the mentioned formats.

– N.N. – 2011-06-26T08:52:43.200

@N.N.: Thanks for the link... it seems to be what I want, aside from the fact that it requires a temporary directory (which is nontrivial, given that my files are big). I'll give it a try anyhow; thanks. – user541686 – 2011-06-26T08:57:14.710

1I'm pretty sure that you can't avoid writing the files to disk in an uncompressed form. I don't think any useful compression algorithm can do its work without having the whole file to look at. – Lukasa – 2011-06-26T10:05:59.357

Would the biggest of your files fit into memory uncompressed? If so, you might find it worthwhile to use a ramdisk for the temporary files? – therefromhere – 2013-01-06T01:57:28.780

Answers

0

Update: I missed the 'windows' tag on your question completely.
So, unless you use some unix tools (Cygwin?), this answer is not usable there.
I am expecting cygwin to implement this pipe correctly -- you'll need bash, tar, bzip2 and 7z from the environment.


You can pipe the tar output into a 7z like this,

tar xfj filename.tar.bz2 | 7z a -si filename.7z

and similarly,

tar xfz filename.tar.gz | 7z a -si filename.7z

This will save you the disk-space for extracted data -- but its not converting inline.
You will still need sufficient space to store the '7z' being created from the tarball.
You can only delete the tarball after the pipe ends.

nik

Posted 2011-06-26T08:20:33.650

Reputation: 50 788

tar xf file.tar extracts files to disk , perhaps you meant to say tar -xf file.tar -O which sends the extracted files to StdOut – Bor691 – 2014-11-19T20:58:18.980

0

try ArcConvert.

i did not personally tested this program but it says it does what you want , from their site :

------------------------------------------------------------------------------
This convertor can convert the following archives:
------------------------------------------------------------------------------
7-ZIP/ LZH / CAB / ZIP / ARJ / ACE / RAR / TAR / TGZ / GZ / Z / BZ2 / YZ1 /
YZ2 / GCA / BEL / RPM / DEB/ BH / Noa32 / HKI / PAQAR / SQX /HA /ZOO /
UHARC /LFB / ZLIB / UCL / IMP / RS / SPL / APK / Arc / DZ / MSI / ALZ /
PMA / PAQ7 / CHM / UDA / PAQ8 / Cryptonite / ISO / LZOP / BMA /
ZIP AES (128/192/256) / Nanozip Alpha/ XZ/ FreeArc/Zpaq/GZA
------------------------------------------------------------------------------
to the following ones:
------------------------------------------------------------------------------
ZIP, 7-ZIP, CAB, LHA, TAR, TGZ, BZ2, YZ1, BGA, RAR, ACE, NOA32, PAQAR,
UHARC, YZ2, DZ, HA, XZ, FreeArc, ARJ/PAQ9/GZA

screenshot:

ArcConvert

Bor691

Posted 2011-06-26T08:20:33.650

Reputation: 123

The OP asked for a command line solution. Also, ArcConvert is just a GUI for various tools. Internally it uses for example 7z.exe which is a command line tool. – nixda – 2014-11-19T23:18:54.903