Command prompt utilities should have a readable help message

Posted by Miha Markič on August 29, 2007 · 5 mins read

Today I had to display ILMerge's help information (btw, ILMerge does merge assemblies in a single assembly and it is a must have free utility produced by [MS] Research labs). This is the output I've got:

C:\Progs\Vodovodi\Vodovodi.Utilities\AddPrefix\bin\Release>"C:\Program Files\Mic rosoft\ILMerge\ILMerge.exe" Usage: ilmerge [/lib:directory]* [/log[:filename]] [/keyfile:filename [/delaysig n]] [/internalize[:filename]] [/t[arget]:(library|exe|winexe)] [/closed] [/ndebu g] [/ver:version] [/copyattrs [/allowMultiple]] [/xmldocs] [/attr:filename] [/ta rgetplatform:<version>[,<platformdir>] | /v1 | /v1.1 | /v2] [/useFullPublicKeyFo rReferences] [/wildcards] [/zeroPeKind] [/allowDup:type]* /out:filename <primary assembly> [<other assemblies>...]

Clear, isn't it? Absolutely not - it is an unreadable mess. It is very obvious that this fine tool was written by scientists who don't care about friendly messages. They should use at least new lines!

C:\Progs\Vodovodi\Vodovodi.Utilities\AddPrefix\bin\Release>"C:\Program Files\Mic rosoft\ILMerge\ILMerge.exe" Usage: ilmerge [/lib:directory]* [/log[:filename]] [/keyfile:filename [/delaysign]] [/internalize[:filename]] [/t[arget]:(library|exe|winexe)] [/closed] [/ndebug] [/ver:version] [/copyattrs [/allowMultiple]] [/xmldocs] [/attr:filename] [/targetplatform:<version>[,<platformdir>] | /v1 | /v1.1 | /v2] [/useFullPublicKeyForReferences] [/wildcards] [/zeroPeKind] [/allowDup:type]* /out:filename <primary assembly> [<other assemblies>...]

So, a simple \r\n does make a huge difference. And there are plenty of fine tools/applications with a great engine and with crappy UI out there. I won't even mention Dotfuscator at this point.