Also, in a pinch, the Linux 'file' utility is pretty good for this -- I use it all the time on Windows 10 with WSL.
For example, running it on whatever random loose .exe files in my Windows CE stuff folder:
$ file *.exe
PocketDOS_OEM_1123.exe: PE32 executable (GUI) Intel 80386, for MS Windows, ZIP self-extracting archive (WinZip)
TicTacToe.exe: PE32 executable (GUI) Intel 80386 Mono/.Net assembly, for MS Windows
captce SH3.exe: PE32 executable (Windows CE) Hitachi SH3, for MS Windows
hpcv2pt.exe: PE32 executable (GUI) Intel 80386 (stripped to external PDB), for MS Windows, MS CAB-Installer self-extracting archive
It's not as good as a specialized tool, doesn't check the CE version, and doesn't peek into CAB files -- some example output on one of those is "netcf.core.wce211.sh3.sp3.050308.cab: Microsoft Cabinet archive data, 2492762 bytes, 28 files", but it's been dead useful for figuring out what random binaries I have go with what system even beyond CE.