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

[文本处理] BAT如何批量在txt文本的第二行,和倒数第二行插入文字?

求助,如何批量在txt文本的第二行,和倒数第二行插入文字!

比如,01文件夹下有100个txt文本,我想批量给这100个TXT文本的第二行和倒数第二行中间各插入不同的文字!   

效果如下:某个TXT文件时这样的

***************
***************
***************
***************
***************
***************
***************    改成  


***************
*****我想*******
***************
***************
***************
*****要的效果****
***************

本帖最后由 xxpinqz 于 2013-5-5 03:03 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. set "str1=我想"&set "str2=要的效果"
  3. for %%a in (*.txt) do (
  4.   set /a q=2,l=0,n=0
  5.   for /f "tokens=2 delims=:" %%b in ('find /v /c "" "%%a"') do set /a h=%%b-1
  6.   (for /f "delims=" %%c in ('type "%%a"') do (
  7.   set /a l+=1
  8.   set /a x="1/(!q!-!l!)",y="1/(!h!-!l!)" 2>nul&&(
  9.      echo %%c
  10.   )||(
  11.      set com="(echo %%c^&echo,)|findstr /o "$""&set "str=%%c"
  12.      for /f "delims=:" %%d in ('!com!') do set /a id="(%%d-2)/2"
  13.      set /a n+=1
  14.      for /f "tokens=1-2 delims= " %%e in ("!n! !id!") do echo !str:~,%%f!!str%%e!!str:~%%f!
  15.   )
  16.   ))>"%%~na.$$$"
  17. )
  18. ::ren *.$$$ *.txt
复制代码
原来这个变量x,y可以不要的啊,不知道

TOP

  1. @echo off
  2. for %%i in (*.txt) do (
  3.    set /a n=0,m=0
  4.    for /f "usebackq delims=" %%a in ("%%i") do set /a m+=1
  5.    (for /f "usebackq delims=" %%a in ("%%i") do (
  6.       set /a n+=1
  7.       set /a "1/(n-2)" 2>nul||echo,我想
  8.       set /a "1/(m-n)" 2>nul||echo,要的效果
  9.       echo,%%a
  10.    ))>$
  11.    move $ "%%i"
  12. )
  13. pause
复制代码

TOP

随机插入?嘎嘎

TOP

回复 3# apang


    您好! 您的代码插入 文字没问题但是不是插在第二行,还有,如果想插入<a href="http://www.baidu.com"><strong>baidu</strong></a>  就不行了,

TOP

回复 2# xxpinqz


    您好 你的这段我不懂用。。 菜鸟见谅!

TOP

回复 5# xiaoxiaol01


   "插入第二行和倒数第二行的中间" 是个什么意思?

TOP

不得不说,BAT真的很霸道,我看了下,这个要是用VBS写至少要五六十行代码!

TOP

回复 6# xiaoxiaol01
我也是才学2个月的菜鸟,纯粹练手。

TOP

回复 8# 将脚本进行到底


    呃,不至于吧

TOP

返回列表