
CODE: [Copy to clipboard]现有一新问题另开帖讨论下,如何在INF文件中存在不连续的多行重复数据,如果在其中的第一次出现的位置行下插入一行,而其他的重复数据行保持不变?@echo off
set file=test.inf
set str=[AddReg]
for /f %%i in ('more "%file%"') do (
echo %%i >>temp.txt
if "%%i"=="%str%" echo 此处为插入的数据>>temp.txt
)
| Quote: | |
|
| Quote: | |
|
| Quote: | |
|
CODE: [Copy to clipboard]::在指定数据行后插入一行数据
@echo off
set file=test.inf
set tmpf=temp.txt
set str=[AddReg]
set addstr=此处为插入的数据
:menu
echo.&echo 在每个符合条件的数据行后都插入新数据请按 Y
echo.&set /p add=只在第一个符合条件的行后插入数据请按 N
if /i %add%==Y goto :Y
if /i %add%==N (goto :N) else (goto :error)
:Y
for /f %%i in ('more "%file%"') do (
echo %%i >>%tmpf%
if "%%i"=="%str%" echo %addstr%>>%tmpf%
)
goto :EOF
:N
for /f "delims=" %%i in ('more "%file%"') do (
>>%tmpf% echo %%i
if "%%i"=="%str%" if not defined %%i set %%i=a &>>%tmpf% echo %addstr%
)
goto :EOF
:error
cls
echo.&echo 你的选择有误请重新按键
goto :menu
CODE: [Copy to clipboard]@echo off&setlocal EnableDelayedExpansion
set file=test.inf
set tmpf=temp.txt
set str=[AddReg]
set addstr=此处为插入的数据
set a=0
for /f %%i in ('more "%file%"') do (
echo %%i >>%tmpf%
if "!a!"=="0" (
if "%%i"=="%str%" (
echo %addstr%>>%tmpf%
set a=1
)
)
)
| 欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) | Powered by Discuz! 2.5 |