如何读取文件中的ip并为每个IP分配一个变量

时间:2019-02-15 09:04:19

标签: batch-file batch-processing

我有一个文件ip.txt,每行一个ips,下面是400 ips

10.xx.xx.111
10.xx.xx.113

如何将每个变量分配给一个单独的变量,例如ip1 =第一行ip,ip2 =第二行ip,以此类推,最后一个ip。该文件没有定界符,每行只有一个ip。

我尝试了以下批次

@echo off
echo.
for /f "tokens=1*" %%A in (ip.txt) Do Set "%%A=%%B"
set | find /i "10="

但是没有用。谁能帮我吗?

1 个答案:

答案 0 :(得分:1)

根据我的理解,根据您的评论,您只是想要一个简单的循环来执行单个任务,以便在文件中列出多个行:

@for /f %%i in (ip.txt) Do @echo %%i

将使用每个IP并对其进行处理,在本例中为echo

您显然需要在其他地方对IP进行其他操作,例如ping,连接到IP等,

@for /f %%i in (ip.txt) Do @ping %%i

或者在代码块中添加多个项目:

@echo off
for /f %%i in (ip.txt) Do (
      echo %%i
      ping %%i
      nslookup %%i
)

如果您真的想将其设置为veriable,那么在这里确实不需要,可以做到这一点,但是要在代码块内部使用echo等,则需要{{1 }}:

delayedexpansion