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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Поиск замена текста

Ответить
Настройки темы
CMD/BAT - [решено] Поиск замена текста
csp csp вне форума

Новый участник


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

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


гм неполистал форум прошу прощения на следующей страницы похожая тема. если не выйдет. отпишу нижу

Отправлено: 01:39, 25-03-2012

 

Пользователь


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

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


Код: Выделить весь код
Set infile=1.txt 
Set find=config 
Set replace=parametr

setlocal enabledelayedexpansion 
for /F "tokens=* delims=," %%n in (!infile!) do ( 
set LINE=%%n 
set LINE=!LINE:%find%=%replace%! 
@echo !LINE!>>2.txt 
)
endlocal
Ну тут думаю всё понятно. Ищу в файле 1.txt выражение config, а как найду то поменяю его на parametr.
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:45, 25-03-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.

Den Den вне форума

Аватара для Den

Новый участник


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

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


добрый день!
у меня похожая задача только нужно заменить в исходном файле 1.тхт все буквы а на буквы о
извините заранее в этой области я новичок

форум классный! всем удачи

Отправлено: 16:47, 27-03-2012 | #3


Аватара для ferget

Разный


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

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


так и заменяйте

Код: Выделить весь код
Set find=a 
Set replace=o
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:14, 27-03-2012 | #4

Den Den вне форума

Аватара для Den

Новый участник


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

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


спасибо! работает!

Отправлено: 20:47, 27-03-2012 | #5


Аватара для adamic

Пользователь


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

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


а как пользоваться этим скриптом скажите плииз

-------
если ты упал не плачь а встань


Отправлено: 16:30, 26-07-2016 | #6


Ветеран


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

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


Цитата adamic:
а как пользоваться этим скриптом скажите плииз »
Что именно вызывает у Вас затруднение?

Отправлено: 17:10, 26-07-2016 | #7


Новый участник


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

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


здравствуйте, а как сделать, чтоб изменился текст в файле и пересохранился этот файл, сейчас скрипт делает копию.

Отправлено: 12:23, 09-09-2016 | #8

x0r x0r вне форума

Забанен


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

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


Решение, но на VBS
Есть скрипт, чужой, для поиска и замены, правда на VBS для TotalCommander.
Код: Выделить весь код
'
'Скрипт, заменяющий все вхождения заданной строки во всех выделенных файлах на другую строку. Архиполезнейшая вещь!
'
'=========================[ Start of file ]=========================
'  File:         ReplaceInFiles.vbs
'  Description:  Производит поиск текста с заменой
'                в выделенных текстовых файлах
'  Installation: Создайте кнопку на панели TC
'                Команда: "диск:\путь\к\файлу\ReplaceInFiles.vbs"
'                Параметры: "%L" (именно в кавычках!)
'  Copyright:    (c) 2006, Volniy

Option Explicit

Dim FSO, Find_String, Replace_String, F, Buffer, ListFile
Const ForReading = 1, ForWriting = 2

Set FSO = CreateObject("Scripting.FileSystemObject")

Find_String = InputBox("Введите искомую строку", "Поиск и замена")
If Len(Find_String) = 0 Then
   MsgBox "Не задана строка поиска!", vbExclamation, "Поиск и замена"
   WScript.Quit()
End If

Replace_String = InputBox("Введите строку для замены", "Поиск и замена")

Set ListFile = FSO.OpenTextFile(WScript.Arguments(0), 1)
Do While Not ListFile.AtEndOfStream
   Call DoItForThisFile(ListFile.ReadLine)
Loop
ListFile.Close
Set ListFile = Nothing
Set F = Nothing
Set FSO = Nothing

MsgBox "Замена завершена!", vbInformation, "Поиск и замена"
WScript.Quit

Sub DoItForThisFile(FilePath)
   Set F = FSO.OpenTextFile(FilePath, ForReading)
   Buffer = F.ReadAll
   F.Close

   Buffer = Replace(CStr(Buffer), Find_String, Replace_String, 1, -1, 1)
   FSO.CopyFile FilePath, FilePath & ".bak"

   Set F = FSO.OpenTextFile(FilePath, ForWriting)
   F.Write Buffer
   F.Close
End Sub
'=========================[  End of file  ]=========================
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:46, 09-09-2016 | #9


Ветеран


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

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


Цитата user2e@vk:
здравствуйте, а как сделать, чтоб изменился текст в файле и пересохранился этот файл, сейчас скрипт делает копию. »
Используйте две команды «ren» — для переименования оригинала в *.bak, и последующего переименования нового файла в оригинал.
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:44, 09-09-2016 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Поиск замена текста

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Поиск и замена текста ajakzs Скриптовые языки администрирования Windows 18 08-08-2013 16:10
CMD/BAT - Поиск и замена текста через bat Lilless Скриптовые языки администрирования Windows 0 28-02-2012 02:08
CMD/BAT - [решено] Поиск, остановка процесса, поиск и замена файла на разных дисках Gawr33 Скриптовые языки администрирования Windows 11 23-04-2011 23:09
[решено] Поиск и замена текста в файле TERMINAL AutoIt 6 16-03-2011 17:49
C/C++ - [решено] Поиск и замена текста Simpler Программирование и базы данных 15 01-12-2010 16:03




 
Переход