【发布时间】:2014-11-20 14:35:45
【问题描述】:
您好,我想使用批处理文件逐行合并 3 个文本文件。 这些行包含特价字符。和空格。 如果文件只有一行,则下面的代码有效,但如果我们有多行文本,则没有 因为结果是:
1stline1stline 第一行第二行 2stline1stline 2stline2stline 示例代码
@echo off
for /f "delims=" %%a in (a.txt) do (
for /f "delims=" %%b in (b.txt) do (
>>c.txt echo %%a %%b
)
)
【问题讨论】:
-
您的脚本会为每个
a-file行迭代所有b-file行,以便输出为a-size × b-size(以行 为单位,而不是字节)。 Windows 批处理脚本对于此类任务解决不太可行。但是,如果您出于任何原因想继续使用它,您可以添加两个行计数器,每个文件一个计数器和echo仅if a-counter = b-counter。但这适用于相同“大小”的文件,因此您需要为a-size < b-size和a-size > b-size找到一个技巧...... -
非常感谢,很有帮助,我非常理解!
-
请发布 3 个文件和所需输出的小示例(修改问题,不要使用评论)。当文件的行数不同时会发生什么?输出可以按任何顺序(a-b 或 b-a)放置吗?
-
@Aacini:您可以在测试脚本中生成这些文件,如下所示:
if not exist filea.txt (for /L %%G in (1,1,3) do @echo a file %%G >> filea.txt)和类似的... do @echo b file %%G >> fileb.txt) -
@JosefZ:对不起,但这并不能回答我的任何问题...
:(
标签: windows batch-file cmd