0

我正在使用该for /f命令设置许多变量。

setlocal ENABLEDELAYEDEXPANSION
设置 vidx=0
for /F "tokens=*" %%A in (target_list.txt) 做 (
    SET /A vidx=!vidx! + 1
    SET var!vidx!=%%A    
)
设置变量

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

复制网关%num%.bat \\%var1%\C$\WINDOWS\system32

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

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

我在循环中需要它们的原因是因为变量的数量会定期变化,我需要它能够弄清楚它在前一个命令中产生了多少,然后在第二个命令中应用它们。我不想一遍又一遍地复制这个命令,只需要将 ( ) 更改var1为 ( var2) 到 ( var3) 等。

4

1 回答 1

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
于 2013-06-03T17:25:15.017 回答