如何通过批处理文件并行读取两个文本文件?

时间:2016-07-06 00:41:12

标签: batch-file

是否有一种简单且性能良好的方法可以逐行读取两个(甚至更多)文本文件?所以要有一个循环,在每次迭代中读取每个文本文件的一行。

不能使用给出多个文件的for /F循环,因为这会一个接一个地读取文件。当然,嵌套的这样的循环也没有意义。

1 个答案:

答案 0 :(得分:5)

诀窍是使用 STDIN redirection <(另请参阅this site)使用未定义的句柄(39 )对于文件读取的整个代码块,块中的命令set /P实际读取一行,0<&将未定义的句柄重定向回 STDIN {{1因此,相应的行读取。

以下是一个如何运作的示例:

假设有以下两个文本文件set /P ...:

names.txt

...和Black Blue Green Aqua Red Purple Yellow White Grey Brown ...:

values.txt

...目标是逐行组合它们以实现此文件,0 1 2 3 4 5 6 7 ...:

names=values.txt

...以下代码完成了(参见所有解释性注释,Black=0 Blue=1 Green=2 Aqua=3 Red=4 Purple=5 Yellow=6 White=7 ):

rem