|
|
楼主 |
发表于 2012-7-1 15:34:36
|
显示全部楼层
回复 6# CrLf
测试文本文件1111.txt内容如下:
111111111
111"222"111
111111111
444444444
fgjjllkugf
目的是将第二行双引号中的222替换成8888888
替换结果如下:
111111111
111"88888888"111
111111111
444444444
fgjjllkugf
批处理代码如下:
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('type "1111.txt"^|find /n "222"') do
set str=%%a
for /f tokens^=1-2*delims^=^" %%i in ("%str%") do (
set substr=%%j
set replace=888888888
echo !substr!
call set "str=%%str:!substr!=!replace!%%"
echo !str!>>1111.txt
)
pause
但执行结果确实将解析替换好的字符串111"888888888"111写到了文件最后一行
怎么能让它写在第二行呢 |
|