将字符串连接到批处理中的迭代次数

时间:2013-09-13 21:31:42

标签: windows for-loop batch-file

我有以下批处理脚本:

SETLOCAL ENABLEDELAYEDEXPANSION
set "base_name=distribution"
set "dir_net_name=dir_net"


FOR %%? IN (1,1,10) DO (
set "itnum=%%?"
set "name=%dir_net_name%\%base_name%_%itnum%"
echo %name%
)
pause

我有以下问题: (1)循环迭代超过1,1和10而不是1到10 (2)我想连接dir_net_name + \ + base_name + _ + itnum,但是itnum没有显示 (3)名称不显示,echo什么都不做

我一遍又一遍地试过这个,但仍然无法正常工作!

1 个答案:

答案 0 :(得分:0)

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set "base_name=distribution"
set "dir_net_name=dir_net"

FOR /L %%i IN (1,1,10) DO (
set "name=%dir_net_name%\%base_name%_%%i"
echo !name!
)

pause
  • ad 1)有关help for切换的详细信息,请参阅/L
  • ad 2)%itnum%在这里是多余的。如果您仍然需要它,请将其用作!itnum!
  • ad 3)%name%FOR循环开始之前进行评估,改为使用!name!