Hi
I would most likely use a zip archive for this it will give you a lot of things out of the box, this is even how microsoft formats are beeing built. Try renaming a word file (.docx) to a (.zip) and decompress it and you will see.
Try following article I just googled
http://www.tugberkugurlu.com/archive/net-4-5-to-support-zip-file-manipulation-out-of-the-box[
^]
Another option would be to create your own format which will be more work but not necessarily complicated.
you start with writing a header which contains information about the files like name and size and then you concatinate the files after this. This should definetly be done on a binary level and not make use of any excisting formats like XML or Json or whatever you can come up with.
Header could look like, use some token that is not accepted in a filename like []
[int32 containing nr Of files]
[filename1][size1 as int64 8 bytes]
[filename2][size2 as int64 8 bytes]
[filename3][size3 as int64 8 bytes]
[filename4][size4 as int64 8 bytes]
after the header you just concatinate the files since you know the file size of each file is should be easy to extract them later