标题: 请教如何在指定的行插入字符串
[打印本页]
作者: flyingphf
时间: 2008-5-4 09:42
标题: 请教如何在指定的行插入字符串
请教如何在指定的行插入字符串
作者: slore
时间: 2008-5-4 09:55
第5行后插入……
@echo off&setlocal enabledelayedexpansion
Set Addline=5
Set Addtext=o(∩_∩)o
for /f "delims=" %%i in (a.txt) do (
echo %%i>>b.txt
set /a n+=1
if !n! EQU %Addline% goto :Break
)
:Break
echo %Addtext%>>b.txt
for /f "skip=%Addline% delims=" %%i in (a.txt) do echo %%i>>b.txt
echo 处理完毕!按任意键退出……
pause>nul
作者: terrytong
时间: 2008-5-4 10:11
可以用change 啊,比如:
change tt.txt /from 1234 /to 1234567 /lines 15
不知道你的要求啊。这样行吗?
作者: flyingphf
时间: 2008-5-4 11:11
第一个可以,第二个简单,但是看不懂,如果我想要另存怎么办
作者: HAT
时间: 2008-5-4 12:01
Quote: |
Originally posted by flyingphf at 2008-5-4 11:11 AM:
第一个可以,第二个简单,但是看不懂,如果我想要另存怎么办 |
|
change.exe的帮助文档里面写的很清楚^_^
想要另存为就不要用change.exe了,违背change.exe的本意了,呵呵。
作者: bat-zw
时间: 2008-5-4 19:37
标题: 我来做个较完善的回答吧:
假如要把字串符www.cn-dos.net插入a.txt第5行前面,同时改写a.txt:
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('type a.txt') do (
set /a n+=1
if !n! equ 1 (
echo %%i>a.txt
) else (
if !n! equ 5 (
echo www.cn-dos.net>>a.txt&echo %%i>>a.txt
) else (
echo %%i>>a.txt
)
)
)
start a.txt
如要另存为b.txt:
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in (a.txt) do (
set /a n+=1
if !n! equ 5 (
echo www.cn-dos.net>>b.txt&echo %%i>>b.txt
) else (
echo %%i>>b.txt
)
)
start b.txt
[/code]
作者: HAT
时间: 2008-5-5 22:34
标题: 调用一下sed就比较简单了^_^
@echo off
sed -n '1,4p' srcfile>tmpfile
echo www.cn-dos.net>>tmpfile
sed -n '5,$p' srcfile>>tmpfile
move /y tmpfile srcfile