从文本文件创建多个批处理文件

时间:2015-02-20 09:23:07

标签: batch-file

我正在开发一个项目,我需要从文本文件中创建多个批处理文件。 这意味着,我想运行一个脚本,它将循环到包含多个IP的test.txt中。我想为该列表中的每个IP创建一个批处理文件。 最终结果是我将使用START循环遍历新创建的批处理文件,这样我就可以有多个同时运行的实例。

感谢。

1 个答案:

答案 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

当然,您可以动态创建批处理脚本并动态调用新的批处理脚本,但通常有更好的方法来完成手头的任务。