Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата 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 ==========================================================================
Строка будет добавлена после каждого из найденных совпадений.

Отправлено: 22:02, 10-11-2011 | #2