0
我打算让字符串的子字符串,并在cmd打印它,但无法做到这一点。如何在批处理编程的代码中解决这个错误?
set p=mnopq
for /L %a in (1,1,5) Do (
set q=%p:~%%a%,1
echo %q%
)
但它给错误,请帮我提前解决this.thanks ..
我打算让字符串的子字符串,并在cmd打印它,但无法做到这一点。如何在批处理编程的代码中解决这个错误?
set p=mnopq
for /L %a in (1,1,5) Do (
set q=%p:~%%a%,1
echo %q%
)
但它给错误,请帮我提前解决this.thanks ..
这就需要延迟通过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!
)
什么错误....? – climbage 2012-07-19 21:39:38