标题: [文本处理] [已解决]批处理如何在已存在的文本中的第N行添加指定的内容? [打印本页]
作者: laoxiu 时间: 2009-7-21 23:34 标题: [已解决]批处理如何在已存在的文本中的第N行添加指定的内容?
比如说文本内容是:
今天是个好天气!
123456
abcdef
我要在第二行添加 qwert 变成
今天是个好天气!
qwert
123456
abcdef
[ 本帖最后由 laoxiu 于 2009-8-22 21:06 编辑 ]
作者: tireless 时间: 2009-7-22 00:25
- @echo off
- set "File=a.txt"
- set "Line=2"
- set "Str=qwert"
- set n=0
-
- (for /f "delims=" %%a in ('findstr /n .* "%File%"') do (
- set /a n+=1
- set var=%%a
- setlocal enabledelayedexpansion
- if !n!==%Line% echo;!Str!
- echo;!var:*:=!
- endlocal
- )) > "%temp%\~.txt"
-
- move "%temp%\~.txt" "%File%"
复制代码
作者: lxzzr 时间: 2009-7-22 12:31
注意空行
-
- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%a in (a.txt) do (
- set /a temp_+=1
- if !temp_! == 2 echo qwert>>b.txt
- echo %%a>>b.txt
- )
- pause
复制代码
作者: Lumiere 时间: 2009-7-23 00:17
- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%a in (a.txt) do (
- echo %%a>>b.txt
- set n+=1
- if !n! equ 1 echo qwert>>b.txt
- )
- pause
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |