-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.