我使用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
)等。
答案 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