2012-07-19 50 views

回答

1

这就需要延迟通过SETLOCAL扩展功能(见cmd /?帮助使用)。它不能按预期工作的原因是因为for命令后面的命令被视为参数,所以基于任何%的变量将立即展开,除了用于for命令的变量外。

这里是更正后的批处理命令。

@echo off 
setlocal enabledelayedexpansion 
set p=mnopq 
for /L %%a in (1,1,5) Do (
    set q=!p:~%%a,1! 
    echo !q! 
)