Hi rcamp48,
I wrote the program (perhaps I understood the problem correctly). The program contains 7Zip files and the BAS program (source code and EXE file). Function Description:
Using the direntry.h library, the ZIP files in the current folder are written to memory (I don't have much time, so all the ZIP files are in a common folder with 7Z files), they are extracted one by one into the SWAP subfolder - just ATR files, here again using the direntry.h library, the name of the unpacked file is read and this name is written to the INFO.DIZ file. This file is then added to the ZIP archive using the command and 7Z parameters.
Because I don't own any real ATR files, I did a couple of them (a text file) and tested it with them. It seems to work properly. In the course of the work I thought of a faster procedure, but I did not want to deal with it again. There are ZIP files in the attached archive, see that without INFO.DIZ files, these files will be added to ZIP when the program starts.
I hope it will be useful.
A few problems while working on the program: the SWAP folder must be empty before running the program (the program is it solves, but I write it here in case you remodel it and interrupt the program while the files stay there, then 7Z seemingly sleep), the next thing to look at is that there is no info.diz file in the 7Z and BAS files directory.