循环文档中的文件

时间:2013-03-05 18:25:29

标签: batch-file dos

我有一个这样的文件:

10.4.33.22 ocean,cat,dog,monkey
33.55.66.77 rabbit,piggy

我创建了一个for循环来遍历IP地址。

for /F %%i in (%File_dbname%) do ( 
   echo %%i database >> %output-file%
)

第一个IP地址中有4个实例。

我正在考虑使用另一个for循环来遍历这些实例/每个IP地址。

我不知道如何使用任何分隔符,跳过第一个IP地址之间的空格,然后去海洋,直到它击中猴子,当检测到猴子之后的空格时,它将转到下一行。

请进一步的建议,谢谢。

1 个答案:

答案 0 :(得分:2)

您可以按照描述的方式嵌套循环。这是一个例子:

for /F "tokens=1*" %%i in (%File_dbname%) do ( 
    for %%A in (%%j) do (
        echo %%i %%A >> %output-file%
    )
)

使用您提到的示例数据,结果将是:

10.4.33.22 ocean 
10.4.33.22 cat 
10.4.33.22 dog 
10.4.33.22 monkey 
33.55.66.77 rabbit 
33.55.66.77 piggy

这是你正在寻找的,还是至少让你知道它是如何运作的?

在没有任何for开关或类似内容的/f循环中,逗号被视为分隔符。在for /f循环中,"tokens=1*"表示%%i是第一个标记(表示空间的所有内容),而%%j%%i中未包含的所有内容。