标题: [文本处理] BAT如何批量在txt文本的第二行,和倒数第二行插入文字? [打印本页]
作者: xiaoxiaol01 时间: 2013-5-4 09:01 标题: BAT如何批量在txt文本的第二行,和倒数第二行插入文字?
求助,如何批量在txt文本的第二行,和倒数第二行插入文字!
比如,01文件夹下有100个txt文本,我想批量给这100个TXT文本的第二行和倒数第二行中间各插入不同的文字!
效果如下:某个TXT文件时这样的
***************
***************
***************
***************
***************
***************
*************** 改成
***************
*****我想*******
***************
***************
***************
*****要的效果****
***************
作者: xxpinqz 时间: 2013-5-4 12:58
本帖最后由 xxpinqz 于 2013-5-5 03:03 编辑
- @echo off&setlocal enabledelayedexpansion
- set "str1=我想"&set "str2=要的效果"
- for %%a in (*.txt) do (
- set /a q=2,l=0,n=0
- for /f "tokens=2 delims=:" %%b in ('find /v /c "" "%%a"') do set /a h=%%b-1
- (for /f "delims=" %%c in ('type "%%a"') do (
- set /a l+=1
- set /a x="1/(!q!-!l!)",y="1/(!h!-!l!)" 2>nul&&(
- echo %%c
- )||(
- set com="(echo %%c^&echo,)|findstr /o "$""&set "str=%%c"
- for /f "delims=:" %%d in ('!com!') do set /a id="(%%d-2)/2"
- set /a n+=1
- for /f "tokens=1-2 delims= " %%e in ("!n! !id!") do echo !str:~,%%f!!str%%e!!str:~%%f!
- )
- ))>"%%~na.$$$"
- )
- ::ren *.$$$ *.txt
复制代码
原来这个变量x,y可以不要的啊,不知道
作者: apang 时间: 2013-5-4 16:50
- @echo off
- for %%i in (*.txt) do (
- set /a n=0,m=0
- for /f "usebackq delims=" %%a in ("%%i") do set /a m+=1
- (for /f "usebackq delims=" %%a in ("%%i") do (
- set /a n+=1
- set /a "1/(n-2)" 2>nul||echo,我想
- set /a "1/(m-n)" 2>nul||echo,要的效果
- echo,%%a
- ))>$
- move $ "%%i"
- )
- pause
复制代码
作者: sxw 时间: 2013-5-4 19:19
随机插入?嘎嘎
作者: xiaoxiaol01 时间: 2013-5-4 23:23
回复 3# apang
您好! 您的代码插入 文字没问题但是不是插在第二行,还有,如果想插入<a href="http://www.baidu.com"><strong>baidu</strong></a> 就不行了,
作者: xiaoxiaol01 时间: 2013-5-4 23:25
回复 2# xxpinqz
您好 你的这段我不懂用。。 菜鸟见谅!
作者: apang 时间: 2013-5-5 00:00
回复 5# xiaoxiaol01
"插入第二行和倒数第二行的中间" 是个什么意思?
作者: 将脚本进行到底 时间: 2013-5-5 01:25
不得不说,BAT真的很霸道,我看了下,这个要是用VBS写至少要五六十行代码!
作者: xxpinqz 时间: 2013-5-5 03:00
回复 6# xiaoxiaol01
我也是才学2个月的菜鸟,纯粹练手。
作者: CrLf 时间: 2013-5-5 04:53
回复 8# 将脚本进行到底
呃,不至于吧
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |