批处理脚本循环在win cmd



我需要合并多个">文件结构是这样的:文件结构

我尝试过循环代码,它在单层结构中工作得很好:

for /l %%x in (1,1,24) do (
copy /b %%x*.ts new_%%x.ts
)
pause

我试图添加另一个循环来运行双层结构,它在以下代码中不起作用:

for /l %%x in (1,24,49) do (
for /l %%a in (%%x,1,%%x+23) do (
copy /b %%x%%a*.ts %%xnew_%%a.ts
)
)

问题是这里的值不能求和:

%%x+23

然后我尝试在将其放入第二个循环之前计算值:

for /l %%x in (1,24,49) do (
set /a endvalue=%%x+23
for /l %%a in (%%x,1,endvalue) do (
copy /b %%x%%a*.ts %%xnew_%%a.ts
)
)

代码仍然不能工作

我错过什么了吗?我该怎么修理它?

谢谢,CJ

使用延迟的环境变量展开

@echo off
setlocal EnableDelayedExpansion
for /l %%x in (1,24,49) do (
set /a beginvalue=%%x
set /a endvalue=%%x + 23
for /l %%a in (!beginvalue!,1,!endvalue!) do (
echo %%a
)
)

最新更新