This program is part of Netpbm.
ppmquantall takes a bunch of PPM images as input, chooses ncolors colors to best represent all of the images, maps the existing colors to the new ones, and overwrites the input files with the new quantized versions.
If you don't want to overwrite your input files, use the -ext option. The output files are then named the same as the input files, plus a period and the extension text you specify.
Verbose explanation: Let's say you've got a dozen PPMs that you want to display on the screen all at the same time. Your screen can only display 256 different colors, but the PPMs have a total of a thousand or so different colors. For a single PPM you solve this problem with pnmquant; ppmquantall solves it for multiple PPMs. All it does is concatenate them together into one big PPM, run pnmquant on that, and then split it up into little PPMs again.
(Note that another way to solve this problem is to pre-select a set of colors and then use pnmremap to separately quantize each PPM to that set.)