for循环内的即时性变量需要开启变量延缓扩展
for 的options参数应该是在命令行载入时初始化的,不会动态扩展建议如下处理- :@echo off
- Setlocal EnableDelayedExpansion
-
- if exist c:\format.txt set n=1
- if exist d:\format.txt set n=2
- >abc.txt echo c d e f g h i j k l m n o p q r s t u v w x y z
- for /l %%i in (1,1,1) do (
- set m=%%i
-
- ::以下为三种调用,第一种不需要开启setlocal扩展,第二种需要,第三种不仅不需要开启setlocal,也不用建立新变量m
- call :fff %%m%%
-
- call :fff !m!
-
- call :fff %%i
-
- )
-
-
- pause
- goto :eof
-
-
-
- :fff
- for /f "tokens=%1" %%j in (abc.txt) do echo set o=%%j^&label !o!:<format.txt
复制代码
|