你上面的的 程序除了 在逻辑上有错误;
语法上也有几处错误;
这个
echo var
应该为 echo %var% 吧;
if i == 5 (goto :delay) else goto eof 这句在语法上 goto :eof ;
逻辑上 运行到此处直接 退出了 并不会 goto delay(一般goto到标签; 不在标签前面加冒号除了特殊的 eof; call 标签是加冒号的;)
================================
set var=%var:~1,%i%%
需要用
call set var=%%var:~1,%i%%%
可以参考下面的帖子
http://www.cn-dos.net/forum/viewthread.php?tid=28552&fpage=1&highlight=%2Bbjsh
===================================
或许得到的结果依然有一部分不是你想要的;
你需要好好理解 变量字符的截取;
看看 set /? 翻翻以前的帖子;