Войти

Показать полную графическую версию : Поиск и замена строки в txt файлах по содержанию этой строки.


sayyad
05-12-2015, 15:10
Люди добрые помогите нужен батник изменяющие одну или несколько строк в принципе нужна команда которая нашла бы условно строку по ее содержанию и заменила бы на вводимую стандартными средствами. Пример работы поиск строки по началу и концу этой строки и замена целиком на новую. В notepad++ задача решается довольно просто да и читал где то что записанный макрос там можно использовать с командой macro созданный макрос и все. Но как это все сделать не доходит до ума. Помогите пожалуйста.

sayyad
06-12-2015, 13:20
нашел решение замены отдельного слова
setlocal ENABLEDELAYEDEXPANSION
echo off
chcp 65001
cls
set /p infile=Путь к файлу

call :txtrepl end finish %infile% New%infile%
pause
exit

:txtrepl
rem param - find, repl, from, to
set /p FINDTXT=Что следует искать?
set /p REPLTXT=На что заменить
if EXIST %3 (
set FILEFROM=%3
) else (
echo error. Not found file %3
pause
exit
)
set FILEOUT=%4
set COUNT=0
for /F "tokens=*" %%n in (!FILEFROM!) do (
set /A COUNT=!COUNT!+1
set LINE=%%n
set TMPR=!LINE:%FINDTXT%=%REPLTXT%!
if !COUNT! == 1 (
Echo !TMPR!>!FILEOUT!
) else (
Echo !TMPR!>>!FILEOUT!
)
)
exit /b
rem end of proc

Можно ли изменить чуточку эти команды и вместо изменения одного слова искать по этому слову целую строку с заменой




© OSzone.net 2001-2012