如何在 .bat 文件中合并两个文本文件?或者至少如何在 .bat 文件中读取文件的下一行/测试结束?
是否可以使用 .bat 脚本合并两个文本文件?这个想法不是追加或连接,而是根据每行的内容执行合并操作。一个简化的例子是从两个排序文件中生成一个排序文件,就像在伪代码中一样(伪代码,因为我似乎找不到读取下一行并测试读取文件结尾的方法 - 在 for环形)
:TOP
Set /p Line1 Read_Line (file1)
:set /p Line2 Read_Line (file2)
:TEST
IF EOF(file1) GOTO FINISH2
IF EOF (file2) GOTO FINISH1
IF %Line1% < %Line2%
(echo %Line1% - not in 2 >> File3
set /p Line1 =Read_Line (file1)
GOTO TEST)
ELSE IF %Line1% > %Line2%
(echo %Line2% - not in 1>> File3
set /p Line2=Read_Line (file2)
GOTO TEST)
ELSE echo %Line1% in both >> File3
GOTO TOP
:FINISH1
echo %Line2% - not in 1>> File3
set /p Line1=Read_Line (file1)
IF NOT (EOF (File1))
(echo %Line1% - not in 2 >> File3
GOTO FINISH1)
ELSE GOTO EOF
:FINISH2
echo %Line2% - not in 1>> File3
set /p Line2 =Read_Line (file2)
IF NOT (EOF (File1) )
(echo %Line2% - not in 1 >> File3
GOTO FINISH2)
我尝试使用 for 循环,但在循环内分支似乎停止了循环。我尝试了各种方法(包括并行 .bat)来找到一种在文件内移动光标的方法set
,<
但找不到正确的方法。