[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
楼主,其他语言写的可以吗?
JC网络工作室

TOP

本帖最后由 JC_2019 于 2019-7-24 23:23 编辑

@echo off
        setlocal enabledelayedexpansion
        set info=bat批量处理把文件名加上标签h1插入某行,支付宝扫码头像,感谢赞助,你的赞助对作者很重要!
        rem 有问题,可加微信17772228910及时沟通
        title %info%
        echo 批处理正在处理...........
        echo.
                ::path1指定txt文件放的文件夹
        set path1="c:\test"
                ::row1指定你要插入的行
        set row1=5
                ::count1处理多少个文件
        set count1=0
                ::自定义标签
        set "bq1=^<h1^>"
        set "bq2=^</h1^>"
                ::行数不能为负数
        if %row1% leq 0 (
                echo 行数不能为0或负数!
                pause
                exit
        )
                ::检查你的文件夹存不存在
        if not exist %path1% (
                echo 你提供的路径不存在,请检查!
                pause
                exit
        ) else (
                        ::新建一个新的文件夹用来存放处理过的文件
                if not exist %~pd0new (
                        md %~pd0new
                ) else (
                        del /f/q %~pd0new\*.*
                )
                cd /d %path1%
                        ::取文件名
                for /f "delims=" %%i in ('dir /a-d/b *.txt') do (
                        set /a count1+=1
                        echo 正处理%%i文件. (第!count1!个文件)
                                ::count2用来表示每一行
                        set count2=0
                                ::count3用来表示txt里指定的行有没有超出,如果超出就放到最后一行
                        set count3=0
                                ::存放文件名
                        set filename=%%~ni
                        for /f "delims=" %%a in ('type %%i') do (
                                set temo1=%%a
                                set /a count2+=1
                                        ::把数据传递给新的文件txt
                                if !count2!==1 (
                                        if %row1%==!count2! (
                                                set count3=4
                                                echo %bq1%!filename!%bq2% >%~pd0new\%%~ni.txt
                                                echo !temo1! >>%~pd0new\%%~ni.txt
                                        ) else (
                                                echo !temo1! >%~pd0new\%%~ni.txt
                                        )
                                ) else (
                                        if %row1%==!count2! (
                                                set count3=4
                                                echo %bq1%!filename!%bq2% >>%~pd0new\%%~ni.txt
                                                echo !temo1! >>%~pd0new\%%~ni.txt
                                        ) else (
                                                echo !temo1! >>%~pd0new\%%~ni.txt
                                        )
                                )
                        )
                        if !count3!==0 (
                                echo %bq1%!filename!%bq2% >>%~pd0new\%%~ni.txt
                        )
                        echo.
                )
        )       
        echo.
        echo 路径%path1%中的所有txt文件处理已完成,共处理!count1!个txt文件!
        echo.
        echo;%info%
        pause
纯bat供楼主一个参考 path 是放txt文件夹,row1是指你要在多少行插入, bq1,bq2是你要定义的标签。
JC网络工作室

TOP

返回列表