Войти

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


Alexander_88
03-09-2014, 11:28
Здравствуйте. Подскажите можно ли заменить одну фразу на другую в нескольких перечисленных мной файлах. Файлы с расширением bat и txt ,не большие.
А результат сохранить в этих же файлах , в которых заменял

Elven
03-09-2014, 12:08
пусть в меня кинут тапком за офтопик, но все же порекомендую воспользоваться Notepad++. Имхо проще и быстрее.

Iska
03-09-2014, 12:56
Подскажите можно ли заменить одну фразу на другую в нескольких перечисленных мной файлах. Файлы с расширением bat и txt ,не большие. »
Нет. Можно только разобрать файлы, сделать замену в строках, сделать вывод в новый файл, заменить старый файл новым. Потому очень многие детали реализации зависят от того, а) какие именно это файлы, б) что и на что конкретно меняем.

Alexander_88
03-09-2014, 13:01
ясно, спасибо, тогда попробую через программку

Georgio
03-09-2014, 13:04
@echo off

set "word_or_frase=Bye!"
set "replacement=Hello!"

for %%i in (
"example_1.txt"
"example_2.txt"
"example_3.txt"
) do (
echo WScript.Echo^(Replace^(WScript.CreateObject^("Scripting.FileSystemObject"^).OpenTextFile^(%%i^).ReadAll^(^),"%word_or_frase%","%replacement%"^)^)>.vbs
cscript //nologo .vbs| clip
mshta "vbscript:CreateObject("Scripting.FileSystemObject").GetStandardStream(1).Write(ClipboardData.GetData("text"))&Close()"| more>%%i
)
del .vbs

exit /b

Elven
03-09-2014, 13:20
Georgio, сразу вспомнилось светлое время студенчества, когда поспорили кто на C++ скомпилирует наименьший вариант "Hello world!", выйграл вызвавший ASM.

Iska
03-09-2014, 16:41
Elven, надо было TP брать — у меня в паре случаев скомпилированный код выходил один в один с «ручным» ассемблером ;).

Alexander_88
03-09-2014, 18:33
Georgio, спасибо, работает, проверил :yes:




© OSzone.net 2001-2012