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

原文地址:https://www.cnblogs.com/so-easy/p/10010401.html

时间: 2024-10-18 18:38:21

bat应用----删除前三行合并文件的相关文章

Windows 定时删除指定路径下N天前的日志文件

Windows 下bat脚本文件的内容为 1. 删除指定路径下5天前的所有文件 . @echo off set SrcDir=E:\WORK\Git set DaysAgo=5 forfiles /p %SrcDir% /s /m *.*/d -%DaysAgo% /c "cmd /c del /f /q /a @path" 2.删除指定路径下5天前的所有log文件 @echo off set SrcDir=E:\WORK\Git //指定的路径 :5天前 set DaysAgo=5 

Linux系统下自动删除前N天的日志文件

删除文件命令: find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 实例命令: find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \; find /home/ -mtime +30 -name "*.log" -exec rm -rf {} \;  //删除home目录下包含子目录下所有30天前的日志文件 说明: 将/opt

BAT 快速删除CVS文件和拷贝最近修改文件的目录结构

相信大家在操作大量文件的的时候,经常会遇到一些手动很难操作的情况 比如有CVS版本控制下每个文件夹下都有一个CVS文件夹,一个个手工删除肯定很费劲,我们都是懒人,还是用工具解决吧.不用重新写程序,直接用BAT命令就能作到.把下面的代码拷贝到记事本,保存成bat可执行文件,放到CVS根目录下,直接执行就行. ? 1 2 3 4 5 6 7 @echo off echo Deleting CVS folders and files under: %1 REM Open Folder specifie

用bat批处理程序通过DOS命令行删除所有的空文件夹

用过gothub或者码云的同学都知道,不包含任何文件的空文件夹上传提交时不被允许的.当然你可以在空文件下创建.keep文件(或.gitkeep文件),然后就可以上传了. 但是如果空文件夹比较多,并且我们确实不需要这些空文件了,那本文就学习一种命令行删除所有空文件夹的方法.并封装成.bat批处理程序.通过鼠标右键运行即可. 一,DOS删除命令 1.1,删除文件命令 del 若是想删除文件,输入del 盘符名:\文件名,比如,我想删除一个在F盘的名为123.txt的文件,则输入  del f:\12

删除指定路径下固定格式,以.log结尾、三天前的文件,或删除空的日志文件

师出‘百测’besttest 删除指定路径下固定格式,以.log结尾.三天前的文件,或删除空的日志文件. 日志文件格式:XXXX_2019-01-01.log. import os,datetime #判断文件是否为空,如果为空则删除 def del_file(file): with open(file,encoding='utf-8') as f: if f.read(): pass else: f.close() os.remove(file) #查找指定路径下xx结尾的文件 def sea

Linux下分割、合并文件——dd和cat

功能说明:读取,转换并输出数据. 语 法:dd [bs=<字节数>][cbs=<字节数>][conv=<关键字>][count=<区块数>][ibs=<字节数>][if=<文件>][obs=<字节数>][of=<文件>][seek=<区块数>][skip=<区块数>][–help][–version] 补充说明:dd可从标准输入或文件读取数据,依指定的格式来转换数据,再输出到文件,设备或

stream流批量读取并合并文件

import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.StringWriter; import java.nio.channels.FileChannel; import java.util

如何删除一个顽固的文件(win)

有些软件要强行删除才可以可以参考下面的:一.常规解决办法 1.注消或重启电脑,然后再试着删除. 2.进入“安全模式删除”. 3.在纯DOS命令行下使用DEL.DELTREE和RD命令将其删除. 4.如果是文件夹中有比较多的子目录或文件而导致无法删除,可先删除该文件夹中的子目录和文件,再删除文件夹. 5.如果是在“添加或删除程序”选项卸载一个软件后,发现软件的安装目录仍旧存在,里边残留着几个文件,直接删除时,系统却提示文件正在使用无法删除. 此时可首先打开“命令提示符”窗口,按“Ctrl+Alt+

Android开发之合并文件的几种方式

下面介绍合并文件的几种方式,并通过合并amr文件来举例介绍合并文件的具体流程.amr格式的文件头是6字节,所以在进行文件合并的时候要减去除第一个文件以外的其他文件的文件头. 注意:不同文件的文件头是不一样的,所以在合并的时候根据不同文件相应的减去合并文件的文件头. 步骤一:获取要合并的文件及创建合并后保存的文件 /**用于存放要合并的文件的集合**/ List<File>tempFiles=new ArrayList<File>(); /**合并之后的文件**/ File fina