在命令提示符循环中调用变量

时间:2013-06-03 17:13:55

标签: variables loops batch-file cmd set

我使用for /f命令设置了许多变量。

setlocal ENABLEDELAYEDEXPANSION
set vidx=0
for /F "tokens=*" %%A in (target_list.txt) do (
    SET /A vidx=!vidx! + 1
    SET var!vidx!=%%A    
)
set var

现在我已经设置了它们,我需要能够在循环中调用它们并将它们应用于以下命令。

copy gateway%num%.bat \\%var1%\C$\WINDOWS\system32

psexec \\%var1%\ gateway%num%.bat

del \\%var1%\\C$\WINDOWS\system32\gateway%num%.bat

我在循环中需要它们的原因是因为变量的数量会定期更改,我需要它能够计算出它在前一个命令中的数量,然后在第二个命令中应用它们。我不想一遍又一遍地复制此命令,只需将(var1)更改为(var2)到(var3)等。

1 个答案:

答案 0 :(得分:2)

试试这个:

for /l %%i in (1,1,%vidx%) do copy copy gateway%num%.bat \\!var%%i!\C$\WINDOWS\system32

for /l %%i in (1,1,%vidx%) do psexec \\!var%%i!\ gateway%num%.bat

for /l %%i in (1,1,%vidx%) do del \\!var%%i!\\C$\WINDOWS\system32\gateway%num%.bat