Единственный способ, которым я знаю, чтобы не допустить включения путей в 7z, - это сжать текущую папку.
Кажется, есть недостаток при использовании опции -o для определения выходной папки на один уровень вверх (тем не менее она создает 7z в текущей папке).
Обходной путь - войти в каждую папку, чтобы сжать, а затем переместить файл 7z на один уровень вверх:
:: Flat7z.cmd
@Echo off
for /d %%X in (*) do (
    echo processing folder "%%~fX"
    Pushd "%%~fX"
    "c:\Program Files\7-Zip\7z.exe" a "%%~nxX.7z" *
    Move "%%~nxX.7z" ..
    PopD
)
Образец дерева A:\ before
> tree A:\ /F
A:\
└───test
    │   Flat7z.cmd
    ├───a
    │       File1.txt
    │       File2.txt
    └───b
            File3.txt
            File4.txt
и после запуска партии:
> tree A:\ /F
A:\
└───test
    │   a.7z
    │   b.7z
    │   Flat7z.cmd
    ├───a
    │       File1.txt
    │       File2.txt
    └───b
            File3.txt
            File4.txt
И (сокращенный) выход 7z l *.7z
Listing archive: a.7z
   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2018-06-25 19:37:39 ....A            6           16  File1.txt
2018-06-25 19:37:43 ....A            6               File2.txt
------------------- ----- ------------ ------------  ------------------------
2018-06-25 19:37:43                 12           16  2 files
Listing archive: b.7z
   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2018-06-25 19:37:39 ....A            6           16  File3.txt
2018-06-25 19:37:43 ....A            6               File4.txt
------------------- ----- ------------ ------------  ------------------------
2018-06-25 19:37:43                 12           16  2 files
------------------- ----- ------------ ------------  ------------------------
2018-06-25 19:37:43                 24           32  4 files
Archives: 2
Volumes: 2
Total archives size: 358