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

[文本处理] [已解决]批处理如何在已存在的文本中的第N行添加指定的内容?

比如说文本内容是:
今天是个好天气!
123456
abcdef
我要在第二行添加 qwert 变成
今天是个好天气!
qwert
123456
abcdef

[ 本帖最后由 laoxiu 于 2009-8-22 21:06 编辑 ]
1

评分人数

    • Batcher: 感谢主动给标题标注[已解决]字样PB + 2

  1. @echo off
  2. set "File=a.txt"
  3. set "Line=2"
  4. set "Str=qwert"
  5. set n=0
  6. (for /f "delims=" %%a in ('findstr /n .* "%File%"') do (
  7.   set /a n+=1
  8.   set var=%%a
  9.   setlocal enabledelayedexpansion
  10.   if !n!==%Line% echo;!Str!
  11.   echo;!var:*:=!
  12.   endlocal
  13. )) > "%temp%\~.txt"
  14. move "%temp%\~.txt" "%File%"
复制代码

TOP

注意空行


  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in (a.txt) do (
  4.          set /a temp_+=1
  5.          if !temp_! == 2 echo qwert>>b.txt
  6.          echo %%a>>b.txt
  7. )
  8. pause
复制代码

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (a.txt) do (
  3.      echo %%a>>b.txt
  4.      set n+=1
  5.      if !n! equ 1 echo qwert>>b.txt
  6. )
  7. pause
复制代码
Still with wax

TOP

返回列表