Windows shortcut target parameter starting with an @
I have a Windows application that I need to invoke with a desktop shortcut and some command-line parameters.
I've done this thousands of times, but this one is a bit different. Instead of using a normal command-line parameter like -e 12345
or -example 12345
, this one uses @12345
(starting with the @
symbol).
Windows shortcuts do not like this parameter coming immediately after the executable name, and it just strips everything out. I don't know why.
For example:
c:\example\example.exe @12345 -e9876
as the "target", when saving, strips out all the parameters and leaves just c:\example\example.exe
as the target.
But c:\example\example.exe -e9876 @12345
works just fine. It saves, and validates, and everything is good.
However I need the @
parameter to be the first one on the command. Apart from doing something like wrapping the command in a batch file and calling the batch, how can I have an @
symbol be the first command line parameter on a Windows shortcut?
Solution 1:
Who knew? ... Windows apparently treats the @
character as a delimiter. Windows commands will only interpret the first element in the command... so it effectively truncates the rest. Apparently, you can override the behavior by supplying a ^
before it to escape the symbol.
i.e.
c:\example\example.exe ^@12345 -e9876