What are some nice command line ways to inspect DLL/EXE details?

With most Windows executables (DLL, EXE...), version and other details can be viewed using "Details" tab in "Properties" (Alt+Enter).

Details of shell32.dll from Windows 7 amd64

I wonder: is there also a command-line way to do this? I'm particularly interested for Product version, but also other things could be useful.

Following properties are desired, in order of precedence:

  • accept exe/dll path as a parameter
  • output to standard output (so you can process the rest via | pipe)
  • available by default in all supported Windows (XP+)
  • available by default in Windows Vista+
  • available by default in Windows XP
  • usable in commercial environment
  • free license (GPL-like)
  • portable (ie. standalone exe, maybe accompanied with DLL)

Solution 1:

In powershell, get-command "full-path-to-executable" | format-list would do the trick. Powershell is the new command-line for Vista and later Windows, can be installed in XP.

Solution 2:

Use the Microsoft's DUMPBIN utility.

It has lots of useful options, however, it depends on what do you want to do.

However, it's not free, but I believe can be obtained freely with Windows SDK.