bat應用----刪除前三行合並文件
阿新 • • 發佈:2018-11-24
findstr LEDE ble 不同 刪除 pau types 文件 文件復制
我有兩個文件夾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應用----刪除前三行合並文件