我正在开发一个项目,我需要从文本文件中创建多个批处理文件。 这意味着,我想运行一个脚本,它将循环到包含多个IP的test.txt中。我想为该列表中的每个IP创建一个批处理文件。 最终结果是我将使用START循环遍历新创建的批处理文件,这样我就可以有多个同时运行的实例。
感谢。
答案 0 :(得分:1)
我假设您希望每个脚本都执行相同的操作,每次只使用不同的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
当然,您可以动态创建批处理脚本并动态调用新的批处理脚本,但通常有更好的方法来完成手头的任务。