- 帖子
- 22
- 积分
- 31
- 技术
- 0
- 捐助
- 0
- 注册时间
- 2019-3-25
|
本帖最后由 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是你要定义的标签。 |
|