Я предполагаю, что вы хотите, чтобы каждый скрипт выполнял то же самое, только с другим IP-адресом каждый раз. Создание отдельного пакетного сценария для каждого IP-адреса совершенно не нужно - вам просто нужен один сценарий, который принимает IP-адрес в качестве параметра. Предполагая, что IP-адрес является первым параметром, тогда он будет ссылаться на %1
. Вот тривиальная демонстрация - очевидно, вы бы изменили processIP.bat, чтобы делать то, что хотите, с IP-адресом.
main.bat
@echo off
for /f %%A in (test.txt) do start "" processIP %%A
processIP.bat
@echo off
echo Processing %1 to demonstrate how to access the IP parameter
pause
Вы могли бы даже объединить все в одном сценарии. %~f0
расширяет полный путь к текущему запущенному пакетному сценарию, поэтому скрипт знает, как называть себя, независимо от того, где он находится, или какое имя у него есть. Вы просто передаете дополнительный параметр с определенным значением, чтобы указать, какой код выполнить.
anyname.bat
@echo off
if %1==:processIP (
shift /1
goto :processIP
)
for /f %%A in (test.txt) do start "" "%~f0" :processIP %%A
exit /b
:processIP
echo Processing %1 to demonstrate how to access the IP parameter
pause
Конечно, вы можете иметь пакетный сценарий динамически создавать и вызвать новый пакетный скрипт на лету, но, как правило, есть лучший путь для достижения поставленной задачи.
У вас есть код для нас? что ты уже испробовал? – Rimble
Привет, Том, к сожалению нет. Я новичок в этом. Я искал этот сайт для всех возможных решений и не мог найти то, что можно было бы использовать в моем случае. – DecrepitSoldier
Если возможно, сначала создайте свой собственный код. Мы можем указать вам в правильном направлении оттуда. Этот сайт не должен запрашивать код, а помогает вам изменить код, чтобы лучше или решить проблемы с ним. – Rimble