|Not quite. That literally echos %s1:~0,3%|
And I tried changing the number of % and a few other things, but nothing worked. Thanks for trying though.
Oh, and this is what I put:
call set %x%1=%%%%s1:~!v!,3%%%%
I might have done something wrong though.