As a long time rar user, one of these days I decided to search for a free open-source alternative to it the way I could replace my backup script (Windows batch), so I chose 7z beacause of it's features. It's open-source, very good compression ratio compared to rar and supports AES encryption.
First of all I'm going to describe what I use with rar so you can better understand:
Fast compression ratio
Include and exclude files from list using <@listfiles...>
Create a archive name in the form archive_date(yyyymmdd)-time(hhmmss).rar
Here is the command I use:
rar a -r -k -m1 -p"password" -ep3 -x@exclude_list.txt -ag_yyyymmdd-hhmmss archive.rar @include_list.txt
As I was testing I found the problems discribed bellow that frustated my switch to 7z and kept me with rar.
As the files lists from .txt files include files from multiple locations (including multiple drives), I need to use the switch -ep3 in rar to store the full paths including the drive letter. This is crutial because I need to know from here the files come from when I made the backup.
I couldn't achieve the same with 7z because I was unable to find any similar option in the 7z switches list. I tested 7z with <@listfiles...> option but no full paths were stored, so I ended up with a bunch of files and directories that didn't make much sense.
With rar we have the following switches:
ep Exclude paths from names
ep1 Exclude base directory from names
ep2 Expand paths to full
ep3 Expand paths to full including the drive letter
As you may had notice in my rar command, I append the current date and time to the name of the archive for obvious reasons.
I also could not achieve this with 7z because I didn't found any switch that could allow me to do the same. But this time yes, I was able to append the date and time as I did with rar using the command date from CoreUtils (Windows version of date command sucks). But I think this feature should be implemented.
The rar switch that allows append current date and time no the archive name:
ag[format] Generate archive name using the current date
I think that for using 7z to make backup routines these features are extremelly importante and should be implemented.