добавление строки в в файл
пример:
есть файл test.ini в нем есть строки:
aaa
bbb
ccc
нужно добавить после строки bbb строку zzz чтоб получилось:
aaa
bbb
zzz
ccc
как это можно реализовать через cmd или еще как?
|
Цитата:
Цитата Hunterus
как это можно реализовать через cmd »
|
Например, так:
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
call :GetTemporaryName
set sFile=test.ini
if exist "%sFile%" (
>nul copy nul "%TemporaryName%"
for /f "usebackq delims=" %%i in ("%sFile%") do (
>>"%TemporaryName%" echo %%i
if /i "%%i" equ "bbb" (
>>"%TemporaryName%" echo zzz
)
)
call :BackupAndReplaceFile "%sFile%" "%TemporaryName%"
) else (
echo File [%sFile%] not found
)
endlocal
exit /b 0
rem ==========================================================================
rem ==========================================================================
rem Функция GetTemporaryName()
rem
rem Серый форум / CMD/BAT: генерация пути для временного файла или папки
rem (http://forum.script-coding.com/viewtopic.php?id=6259)
rem ==========================================================================
:GetTemporaryName
setlocal enableextensions enabledelayedexpansion
:NextName
set sTempName=%temp%\temp%random%.tmp
if exist "%sTempName%" goto :NextName
set sProcName=%~0
endlocal & set %sProcName:~4%=%sTempName%
exit /b 0
rem ==========================================================================
rem ==========================================================================
:BackupAndReplaceFile
>nul copy /y "%~1" "%~n1.bak"
>nul copy /y "%~2" "%~1"
del /f /q "%~2"
exit /b 0
rem ==========================================================================
Строка будет добавлена после каждого из найденных совпадений.
|
Время: 19:02.
© OSzone.net 2001-