bat编程字符串分割有关问题

bat编程字符串分割问题
有以下数据
S1=ABC 192.168.1.40

一定要用如下的for取出192.168.1.40
for /f "tokens=2 delims= " %%a in ("%S1%") do set S1=%%a
但是结果还是ABC 192.168.1.40

是不是delims给值错误,该怎么给?
或是那里写错请教各位高手

------解决方案--------------------
test.bat:
Perl code
set S1=ABC 192.168.1.40
for /f "tokens=2 delims= " %%a in ("%S1%") do set S1=%%a
echo %S1%