Recalling variables in a command prompt loop
我正在使用
1 2 3 4 5 6 7 | 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 |
现在我已经设置了它们,我需要能够在循环中调用它们并将它们应用于以下命令。
1 2 3 4 5 | copy gateway%num%.bat \\\\%var1%\\C$\\WINDOWS\\system32 psexec \\\\%var1%\\ gateway%num%.bat del \\\\%var1%\\\\C$\\WINDOWS\\system32\\gateway%num%.bat |
我在循环中需要它们的原因是因为变量的数量会定期变化,我需要它能够弄清楚它在前一个命令中产生了多少,然后在第二个命令中应用它们。我不想一遍又一遍地复制这个命令,只将 (
试试这个:
1 2 3 4 5 | 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 |