Aside: Linux GUIs have shortcuts too (text .desktop files). A few lines of echo and the google-resistant specs will create one.
Shortcut is a Windows command to create, edit, or query windows shortcuts (binary .lnk files) from batch scripts.
It handles target, arguments, working dir, normal/minimized/maximized, icon, hotkey, and description. Everything but the Compatibility tab, which I think is an explorer/registry thing, not intrinsic to lnk files.
Note: You can embed environment variables in the shortcuts (by name rather than value) to point at wherever “%ProgramFiles%” happens to be upon double-clicking, but you have to escape the percents.
Because Cmd is retarded, at the prompt, add carets:
^%MyVar^%\…\…
And in a batch script, add another percent:
%%MyVar%%\…\…