Download Bill Stewart's freeware Batch Script Tools 2.5 and extract the new Str.exe file to a folder that is in your PATH.

When you type str /?, you receive:

Str 2.5 - (C) 2004-2006 by Bill Stewart (bstewart@iname.com)

Usage: str \[-c | -l | -u\] string
   or: str \[-i\] -p string1 string2

-c  Echoes the number of character in string (count).
-l  Echoes the specified string in lowercase.
-u  Echoes the specified string in uppercase.
-p  Echoes the starting position of string2 in string1 (-1 = not found).
-i  Specifies a case-insensitive comparison (must appear before -p).

Sample Usage

When you type str -p ABCDEFGHIJKLMNOP IJK in a CMD.EXE window, Str.exe returns 8, indicating that IJK starts at the 9th byte. Counting starts at 0.

To use this in a batch script:

...
...
set BigString=ABCDEFGHIJKLMNOP
set ArgString=IJK
for /f "Tokens=*" %%a in ('str -p %BigString% %ArgString%') do (
 set /a pos=%%a
)
if %pos% LSS 0 @echo %ArgString% was not found in %BigString%.&goto :EOF
@echo %ArgString% is at position %pos% in %BigString%, counting from 0.
...
...