Board logo

标题: 请版主和其他高人帮我解释以下代码的意思? [打印本页]

作者: jellord     时间: 2007-3-15 09:22    标题: 请版主和其他高人帮我解释以下代码的意思?

@echo off
set disk=cdefghijklmnopqrstuvwxyz
FOR /L %%i IN (0,1,23) DO call echo %%disk:~%%i,1%%
pause

输出结果是c到z,每行显示一个。
c
d
e



z

请解释以上代码的具体含义,最好详细些!

[ Last edited by jellord on 2007-3-14 at 10:47 PM ]
作者: zhoushijay     时间: 2007-3-15 09:53
call的用法也没具体深入研究过,%%disk:~%%i,1%%这样的变量截取也没看到过
我认为以下代码应该起到同样的作用;
@echo off
set disk=cdefghijklmnopqrstuvwxyz
FOR /L %%i IN (1,1,23) DO echo %disk:~%%i,1%
pause
但事实上这段代码并没有起到同样的效果,问题到底出在哪儿了呢? 有待高手出马...

[ Last edited by zhoushijay on 2007-3-14 at 08:54 PM ]
作者: bbq123bbq     时间: 2007-3-15 12:05
@echo off
setlocal enabledelayedexpansion
set disk=cdefghijklmnopqrstuvwxyz
FOR /L %%i IN (1,1,23) DO echo !disk:~%%i,1!
pause

这个可以实现和楼主意思不过显示不到 C 不知道为什么