在批处理脚本中使用命令行(Windows)连接两个文本文件

菜鸟开发者

我正在使用 Windows 命令提示符命令编写 BATCH 脚本,其中我需要将两个文本文件合并到一个源文件中: 输入文件:

ADAT_DZ01_20220320_104155.txt
AEDAT_DZ01_20220320_104155.txt                          

输出文件:

ADAT_DZ01_20220320_104155.txt 

(合并两个输入文件的结果)

PS/每次从应用程序中提取文件名都会更改:

ADAT_DZ01_[the changing part].txt
AEDAT_DZ01_[the changing part].txt

如果您能帮助我,将不胜感激。

copy /b ADAT*.txt + AEDAT*.txt AEDAT*.txt没用。
more ADAT*.txt AEDAT*.txt >> ADAT*.txt也没有工作

智慧之刃

这批应该可以解决问题,随时适应。请仔细阅读源中的评论。

@echo off
setlocal enableextensions enabledelayedexpansion

REM Defining base prefix for both files.
set F1_PREFIX=ADAT_DZ01_
set F2_PREFIX=AEDAT_DZ01_

pushd %~dp0
REM Searching all "F1" files. No need to search for "F2".
for %%A in (%F1_PREFIX%*.txt) do (
    echo Found file: %%A
    REM Splitting the file name to get the variable part.
    for /f "tokens=2,* delims=_" %%B in ("%%A") do (
        echo    Found suffix: %%C
        REM Build second file name.
        set second=!F2_PREFIX!%%C
        REM Second file exist? Need to merge.
        if exist !second! (
            echo    Merging %%A and !second! into %%A...
            REM Simply append content of 2nd file at end of 1st file.
            type !second!>>%%A
            REM Remove 2nd file, useless now, and we don't want to append it twice.
            del /s /q !second! > NUL 2>&1
        ) else (
            REM 2nd file does not exist? Already merged.
            echo    Already merged, skipping...
        )
        echo    Done.
    )
)
popd
goto :eof

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Windows批处理脚本来比较两个文本文件

使用批处理或perl脚本将两个文本文件合并为一个

在出现模式时将文本文件分成几个文件,在Linux中使用命令行

使用命令行从其他文本文件更改文本文件中的行

如何使用命令行在文本文件的顶部插入一行?

使用命令行以行号打开Sublime文本文件

如何使用命令行计算文本文件中单词出现的次数?

如何使用命令行将查询结果导出到文本文件

Elasticsearch如何使用命令行为文本文件编制索引

如何使用命令行对文本文件中的时间求和?

使用命令行将文本文件中的行对齐

如何在批处理文件上使用命令FOR获取文本文件的内容

从命令行处理文本文件?

如何合并两个文本文件中的行而不在批处理命令中创建换行符

在VBA中使用Shell脚本合并两个文本文件

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

批处理文件合并两个文本文件

如何在Windows命令行中的文件名和批处理脚本中使用日语字符?

使用Windows命令行替换文本文件中的文本

在文本文件中找到一个数字,并使用命令行更改其行数据的符号

如何使用命令行工具同步两个文件夹?

在批处理脚本中调用命令行

批处理文件:在命令行中使用Loop

如何用命令行替换文本文件中的每个前缀?

在Windows批处理命令行中使用MSBuild属性?

在文本文件中使用批处理命令用与号写一行

在Windows命令行中在批处理文件中使用参数

使用 Windows 批处理脚本从文本文件中删除前几行

如何按照使用 Windows 批处理脚本显示的顺序从文本文件中读取行?