bat应用----删除前三行合并文件

Posted so-easy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bat应用----删除前三行合并文件相关的知识,希望对你有一定的参考价值。

我有两个文件夹Types和TypeBodies,里面有同名的文件(后缀不同),否则只在Types里面。我需要删除每个文件里面前三行注释的内容,然后把TypeBodies的文件内容放到Types里的同名文件后。

  • 删除所有文件的前三行
@echo off&setlocal enabledelayedexpansion
rem 删除Types、TypeBodies文件夹里的前三行
rem 遍历TypeBodies中的所有文件
for /r .TypeBodies %%i in (*) do (
    echo %%i
    rem 按行读取文件内容,跳过前三行;‘findstr .* %%i‘查找文件所有内容,包括空格和空行
    for /f "skip=3 delims=" %%j in (‘findstr .* %%i‘) do (
        rem 按行写到$
        echo;%%j>>$
    )
    rem 把$中内容写到原文件
    move $ %%i
)
pause
  • 合并同名文件
@echo off&setlocal enabledelayedexpansion
rem 把TypeBodies里的文件复制到Type的同名文件后边
rem 遍历Types里的文件
for /r .Types %%i in (*) do (
    echo %%~ni
    rem 如果TypeBodies里存在同名文件,合并两个文件,并放到Types文件夹
    if exist .TypeBodies\%%~ni.tpb copy /b %%i+.TypeBodies\%%~ni.tpb %%i
)
pause

以上是关于bat应用----删除前三行合并文件的主要内容,如果未能解决你的问题,请参考以下文章

bat 或cmd 制作删除1月前固定文件夹下所有文件

在 MS Access 中跳过 CSV 文件的前三行(使用 DoCmd?)

检查 BAT 文件中的特定字母 [关闭]

删除熊猫数据框的前三行

请问大佬怎么用bat提取指定内容?

bat批处理,定时执行删除某文件