Question: I'm using Windows 10 (which complicates things).

So I have a bunch of music files and associated cover picture in the form of "x.m4a" and "x.jpg". I would like to associate them.

A command-line tool would be ideal since it could be easily run in a batch. Basically, I would like to use this:

```
@for /R %%F in (*.m4a) do (
    <utility> "%%~F" +cover "%%~npF.jpg"
)

```

Neither Foobar2000 nor Mp3tag provide a CLI, so I tried with ffmpeg directly but it automatically converts the picture in png which I don't want.

I tried using id3 mass tagger with

```
id3 -2 -wAPIC "test.jpg" "test.mp3"

```

But it returned with "writing `APIC' frames is not supported".

Answer: 
Try setting the compression levels in the macOS command line.
-------------------------------------------------------------

I know you are asking about [`xz`](https://linux.die.net/man/1/xz) but explained in [this answer here](https://superuser.com/a/305141/167207), on older versions of GZip you can set the compression level with an environment variable like this:

```
GZIP=-9 tar cf zsh-archive.tar.xz folderpath

```

That said, that only seems to work with GZip 1.8 and is depreciated on later versions. So use the `-I`/`--use-compress-program=COMMAND` option for tar instead; note this option might not work on macOS but placing here anyway just in case. So the command would then change to:

```
tar -I 'gzip -9' -cf zsh-archive.tar.xz folderpath

```

And yes, these examples would be compressing the archive Gzip instead of `xz`, but you can easily change the command to this to use `xz` like this:

```
tar -I 'xz -9' -cf zsh-archive.tar.xz folderpath

```

The `xz` compression level ranges from `-0` to `-9` with the default being `-6`; so `-9` is the highest compression level.

Just note that `xz` is not installed on macOS by default. To install it on macOS you must first install [Homebrew](https://brew.sh) and then install [`xz`](https://formulae.brew.sh/formula/xz) via Homebrew like this:

```
brew install xz

```
> 
> Makes me wonder what Python is using for compression
> 
> 
> 

<http://tukaani.org/xz/>

It's probably using the function calls in liblzma. [Tar](https://en.wikipedia.org/wiki/Tar_%28computing%29) is probably piping through the xz shell command.

A quick comment on `--sort=name`:

The sort option is a relatively recent enhancement to GNU tar and was introduced in tar version 1.28.

It may never be implemented in BSD tar.