Я устанавливаю ряд переменных, используя команду 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
) и т.д.
Я предлагаю вам использовать стандарт массив для ваших переменных: 'SET var [! vidx!] = %% A'. См. Http://stackoverflow.com/questions/10544646/dir-output-into-bat-array/10569981#10569981 – Aacini