Menu

How to use the ModernZ plugin when there is to compress multiple files with zstandard?

gianluca
2023-07-07
2023-07-10
  • gianluca

    gianluca - 2023-07-07

    Hi guys. I want to use zstd format for my archives and I've decided to try the modern7z plugin, but it seems that this can be used only when I'm compressing a single file. If I right click on a folder with more than one file in it and select "add to archive", then in the 7zip window I can't select the zstandard format.
    Now, I know that compressing multiple files with zstd requires to put them in a Tar archive, before the zstd compression.
    Is there a way to say to 7zip to always tar the files (even if it is a single file) and then compress with zstd? So that this way I can create a default profile usable for every kind of archive I need to create, whatever it's a single file or multiple.
    I know that 7zip can use parameters, so I was thinking that maybe there is a possible command to give in order to achieve this result.

    0=zstd x=11 mt=16
    For example, this line of commands says 7zip to compress with the zstd format, using 11 as level of compression and 16 cpu threads (if I'm correct).

    I'm not an expert of the command line and I don't know 7zip like Igor, so I don't have a clue if what I'm asking is possible. But maybe some of you have can help.

    Anyway, thanks for reading.

     

    Last edit: gianluca 2023-07-07
  • Dec

    Dec - 2023-07-07

    You can use command line variant:
    7z.exe a -ttar -so -an yourfiles | 7z.exe a -tzstd -si archive.tar.zstd

    Warning! Update Modern7z to latest version 1.8.14 to use it.

     
  • gianluca

    gianluca - 2023-07-07

    Thanks for the answer. I'm using the latest version of modern7z.
    You're suggesting to start 7zip from the windows cmd? It's not what I'm trying to achieve.
    I want to create a default profile for this, usable for all the files from the right click explorer menu, using the commands that go in here:

    Annotazione-2023-07-07-192206

     
  • Cirnos

    Cirnos - 2023-07-07

    Not 100% sure if this is related but right-clicking a folder when using official 7-Zip shell context menu integration, no options appear (of course considering "Cascading context menu" checkbox is ticked, otherwise the options should [but don't] appear in main context menu itself)

     
  • gianluca

    gianluca - 2023-07-08

    No. I'm asking a specific thing, not directly related with the right click menu lines.
    When you right click over the folder/file that you want to compress, the explorer menu shows different options (that the user can customize). If I click on the voice "add to archive..." the program opens its main window and let me choose the settings to use for compression (format, number of cores used, dictionary size, etc.). Once I click ok and create the archive, 7zip memorizes the options used and will use them as default settings for the specific format that I used (7z or zip).

    Now, zip doesn't support natively the format zstandard and I'ìm using a plugin to be able to do it.
    The plugin is working, but only when compressing one file at the time. When the files to compress are two or more, 7zip doesn't allow me to compress with zstandard, because this format requires that in this case the files have to be put in a .tar archive before compressing them in .zstd.

    What I'm asking if there is a way to tell 7zip to compress the files first in .tar and, after that, in .zstd, using the user commands that we can insert in the line indicated by the yellow arrow in my previous picture. Because if I can give such command once, then 7zip will remember as default settings for zstandard and I will find them already written in the mentioned tab the next time that I select "add to archive..." in the explorer menu.

    Seems tricky, but if there is a command that can say to 7zip "first compress in .tar and then compress in .zstd", there is a chance that I can have what I'm looking for.

    If the user command 0=zstd means "compress the file/folder with .zstd", maybe 0=tar means "compress in tar". But I don't know how to pair/connect the two command, if there is a conjunction (single letter, symbol or word) to use between the two.

     

Log in to post a comment.