I was always thinking MS DOS is also using PE for binary executable until recently when spotting this:
A PE image file begins with a MS DOS stub. It was used so that when a program is run in MS DOS, it would give a good error message (that the program must be run in windows) instead of crashing MS DOS.
So it implies PE isn't for MS DOS,then what is it?