是否有一种简单且性能良好的方法可以逐行读取两个(甚至更多)文本文件?所以要有一个循环,在每次迭代中读取每个文本文件的一行。
不能使用给出多个文件的for /F
循环,因为这会一个接一个地读取文件。当然,嵌套的这样的循环也没有意义。
答案 0 :(得分:5)
诀窍是使用 STDIN redirection <
(另请参阅this site)使用未定义的句柄(3
到9
)对于文件读取的整个代码块,块中的命令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