@echo off
set /a m=0
call :sas A B C D E F G H I
pause&goto :eof
:sas
set /a m+=1
set /a n=m+1
set /a l=m+2
call echo %%%m% %%%n% %%%l%
if %m%==7 goto :eof
if not %m%==7 goto sas
@echo off&setlocal enabledelayedexpansion
set str=123456789
echo original--%str%
echo new element is---
for /l %%i in (1 1 7) do (
set /a x=%%i
set /a y=%%i+1
set /a z=%%i+2
set /p=!x!!y!!z! <nul
)
rem 利用了等差数列1--7,2--8,3--9
--------------------------------------------------------------------------------------------------------------------------------------
---方法2利用call控制堆栈(多加一个%可以控制call,让call推入堆栈的数据是for的结果,而不是for前的结果)
@echo off
set str=123456789
echo original--%str%
echo new element is---
for /l %%i in (1 1 7) do (
call set /a x=%%%i
call set /a y=%%%i+1
call set /a z=%%%i+2
call set /p=%%x%%%%y%%%%z%% <nul
)
rem 利用了等差数列1--7,2--8,3--9