@echo off
set num=0
setlocal enabledelayedexpansion
for /f "delims=" %%i in ('type "x:\1.ini"' ) do (
set str=%%i
set /a num+=1
if !num! equ 2 set var=%%i
if !num! equ 2 set var1=!var:~0,4!
if !num! equ 2 set var2=!var:~5!
if !num! equ 2 set str=!var1!A!var2!
echo !str! >> x:\_1.ini
)
del x:\1.ini
ren x:\_1.ini 1.ini
start x:\1.ini
pause
[ Last edited by a9319751 on 2006-12-12 at 06:58 AM ]
不错,set num=%%i & set "%%i=%%j"的确是最灵活的方法。
若是追求理论上的效率,不妨结合几种方法来实现:
@echo off
setlocal enabledelayedexpansion
set row=2
set line=5
set file=a.txt
set newFile=b.txt 4>b.txt
set /a newLine = %line% - 1
set /a before = %row% - 1
for /l %%i in (1,1,%before%) do set "str=^^%%i:!str!"
for /f "delims=: tokens=1*" %%i in ('findstr /n .* %file% ^| findstr /ir "%str%"') do (echo.%%j)>>%newFile%
for /f "skip=%before% delims=" %%i in (%file%) do set "midRow=%%i" & goto next
:next
(echo,!midRow:~0,%newLine%!cn-dos!midRow:~%line%!)>>%newFile%
more +%row% %file% >>%newFile%
exit /b 0
if !num! equ 2 set var=%%i
if !num! equ 2 set var1=!var:~0,4!
if !num! equ 2 set var2=!var:~5!
if !num! equ 2 set str=!var1!A!var2!
echo !str! >> x:\_1.ini
这些地方看不懂?