|Ha ha! yeh, all true.|
I figured that the format was "year 3rd" and went with that, (since no actual math is involved, just isolating the year). The O.P. might want to try this, to see if it's not a "delayed expansion" thing:
for /f "tokens=3 delims=/-" %%a in ("%date%") do (
if "%%a" neq "2013" goto :ABCD
and check your results.
Aside from that, all the other responses are relevant and critical. Date formats are notoriously flexible and inconsistant, considering different operating systems, different local environments, and different software packages, each of which has its own "favorite" format. Someday it may be universal, but not today! Like razor said, vbscript can usually sort it out:
::==== batchscript snippet
for /f %%a in ('cscript /nologo yearof.vbs') do set yr=%%a
::========= end snip
'====== vbscript "yearof.vbs"
'======= end vbscript