Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何解决批量编程代码中的这个错误?_Batch File - Fatal编程技术网

Batch file 如何解决批量编程代码中的这个错误?

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

我正在尝试制作字符串的子字符串并在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
setlocal enabledelayedexpansion
set p=mnopq
for /L %%a in (1,1,5) Do (
  set q=!p:~%%a,1!
  echo !q!
)