- 帖子
- 56
- 积分
- 91
- 技术
- 0
- 捐助
- 0
- 注册时间
- 2010-5-2
|
看到百度上一个修改指定行的批处理,转过来看看
使用Dos命令修改文本文件指定行的内容rem 使用示例1:调用子程序replaceLine修改a.txt文件中第3行的内容为“我就百不度”
call :replaceLine C:\a.txt 3 我就百不度
rem 使用示例2:调用子程序replaceText替换a.txt文件中所有“百度”为“我就百不度”
call :replaceText C:\a.txt 百度 我就百不度
rem 子程序:替换文本文件中指定行的内容
:replaceLine
rem 需要操作的文件
set file=%1
rem 需要修改的行数
set lineNum=%2
rem 指定行替换的内容
set lineTxt=%3
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('type %file%') do (
set /a n+=1
if !n! equ %lineNum% (
echo %lineTxt% >> %file%~tmp
) else (
echo %%a >> %file%~tmp
)
)
del /q %file%
move %file%~tmp %file%
goto :eof
rem 子程序:替换文本文件中的指定字符串
:replaceText
rem 需要操作的文件
set file=%1
rem 需要替换的字符串
set findStr=%2
rem 替换的目标字符串
set replaceStr=%3
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in ('type %file%') do (
set str=%%i
set str=!str:%findStr%=%replaceStr%!
echo !str! >> %file%~tmp
)
del /q %file%
move %file%~tmp %file%
goto :eof
:eof
注:转载请保留此说明和链接,原文 http://hi.baidu.com/wojiubaibudu ... 8ae32393457e48.html |
|