0

我正在尝试制作字符串的子字符串并在 cmd 中打印但无法做到。

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

但它给出了错误请帮我解决这个问题。提前谢谢..

4

1 回答 1

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!
)
于 2012-07-20T06:09:11.397 回答