-r (Recurse subdirectories) switch
Specifies the method of treating wildcards and filenames on the command line.
-r[- | 0]
|-r||Enable recurse subdirectories.|
|-r-||Disable recurse subdirectories. This option is default for all commands.|
|-r0||Enable recurse subdirectories only for wildcard names.|
7z l archive.zip *.doc -r-
lists all *.doc files that belong to the archived root directory in the archive.zip archive.
7z a -tzip archive.zip -r src\*.cpp src\*.h
adds all *.cpp and *.h files from directory src and all it's subdirectories to the archive.zip archive.
7z a archive.7z folder1\
adds all files from directory folder1 and all it's subdirectories to the archive.7z archive.
7z a archive.7z -r folder2\
searches all folder2 directories in all subdirectories, and adds them (including all subdirectories) to the archive.7z archive.