Batch file 如何解决批量编程代码中的这个错误?
我正在尝试制作字符串的子字符串并在cmd中打印它,但无法执行Batch file 如何解决批量编程代码中的这个错误?,batch-file,Batch File,我正在尝试制作字符串的子字符串并在cmd中打印它,但无法执行 set p=mnopq for /L %a in (1,1,5) Do ( set q=%p:~%%a%,1 echo %q% ) 但是它出现了错误,请帮助我解决此问题。提前感谢。这将需要通过SETLOCAL延迟扩展功能(请参阅cmd/?用法帮助)。它不能按预期工作的原因是for命令后面的命令被视为参数,因此除了用于for命令的变量外,任何基于%的变量都将立即展开 下面是正确的批处理命令 @echo off setloc
set p=mnopq
for /L %a in (1,1,5) Do (
set q=%p:~%%a%,1
echo %q%
)
但是它出现了错误,请帮助我解决此问题。提前感谢。这将需要通过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!
)