%$ Not retaining equal sign

Hello everyone,

Some time ago I wrote a small batch file that could be used to parse command line options and parameters. I use it daily and it works great.

I used the ":" to provide a value to a switch. For example:

GetOpt.btm /A:123

I would like to be able to use the '=' sign in addition to the ':' as most people are used to this. When I sent the following:

GetOpt.btm /A=123

the %$ variable seems to drop the equal sign and holds:

/A 123

How do I get the equal sign to be passed into my batch file so I end up with:

/A=123

Thanks for your thoughts and help. I'm not sure if this can be worked around, but I'm hopeful.

Michael
 
May 20, 2008
11,025
88
Syracuse, NY, USA
Escape it as ^=.

Also read about the INI directive "CMDBatchDelimiters" in the help's "Batch File Parameters".
 
May 29, 2008
562
4
Groton, CT
Consider the difference between %$ and %*.
Code:
~\Work> type x.bat
@echo off
echo %%* %*
echo %%$ %$
quit

~\Work> x.bat foo /x=bar /y=3
%* foo /x=bar /y=3
%$ foo /x bar /y 3