Script search and replace windows

Script search and replace windows

Please see Replace Studio Pro and Replace Studio Business Edition for information on the next generation text search and replace utilities by Funduc Software. A feature matrix presents a comparison of functions of our three Windows grep utilities.

Search and Replace is our ‘classic’ award winning search and replace utility used by programmers, webmasters, translators, and novice computer users the world over.

Search and Replace, like Replace Studio Pro and Replace Studio Business Edition, searches through one or more files files for a string and can also replace that ‘search hit’ with another string. The program can search subdirectories and ZIP files and do case sensitive or insensitive searches. Extensive support for grep style regular expression search & replacements includes operations that span more than one line, incrementing number replacements, and inserting the path & filename in replaced files. Binary search & replace is also available. You can specify multiple include/exclude file masks and filters based on file date & size. Control over replacements includes configurable replacement prompts and a display of replacements before they are made. An easily understood script editor makes frequent &/or complex multi-step search/replace operations easy to prepare. Advanced script operations include a boolean expression evaluator for added control over which files will be processed by the script. The internal context viewer allows you to edit text files. An «HTML Mode» makes plain text -> html character code substitutions. You can also «Touch» files (change time/date stamp). Search and Replace automatically detects if the file being searched is text and can be configured to launch with separate external editors for search hits in text vs. binary files. The program can also launch associated programs on «found» files, e.g., launch your web browser if the search hit occurs in an .htm or .html file.

If you need to find and replace text, or just find text, this utility is a must have. It is significantly faster than other Windows grep-only utilities and allows replacing for the same price as those programs which offer only grep capabilities.

Search and Replace is for Windows Vista, Windows 7, Windows 8, & Windows 10. Separate 32-bit and x64 versions are available.

Search and Replace Main Window

  • Search & replace across multiple files in multiple subdirectories.
  • Search .ZIP files!
  • Advanced egrep syntax for regular expression search/replace!
  • Scripts & command switches.
  • View Color Coded results «in context» in user configurable fonts & colors.
  • Very Fast!
  • Context sensitive help.
  • Thousands of satisfied customers.
  • International Versions are available.
  • Support is available in the Help File, a FAQ, & from support@funduc.com

Search and Replace Installers

SetupSR.exe (3.8 MB) — Self-installing version for 32-bit Windows. See Install & Uninstall Information for guidance about installation and removal. Download this to a temporary directory and run ‘setupsr.exe’ to install.

SetupSR64.exe (4.0 MB) — Self-installing version for 64-bit Windows. See Install & Uninstall Information for guidance about installation and removal. Download this to a temporary directory and run ‘setupsr64.exe’ to install.

Note: These installers will NOT upgrade existing licenses. If you are a registred user please follow the upgrade instructions you received from us or write support@funduc.com if you lost your copy of the upgrade instructions.

License Statement — EULA Statements (End User License Agreement)

Purchase Questions — Information on price & purchase options.

Purchase Now — https secure online registrations.

Search and Replace Configuration Utility — a free utility that can quickly make some special settings that are not available through the program Options dialog.

fshsetup.exe (901 KB) or fshsetup64.exe (972 KB) — The FSHED — Funduc Software Hex Editor — is free hex editor that is more sophisticated than our HexView hex viewer below. To use FS Hex Editor as the Search and Replace viewer/editor when a binary file is detected, go to the Options|General dialog and specify the path to the hex editor. For example:

c:\tools\fshed.exe «%path%» /s%start% /l%length%

FSHED is available in 32-bit or 64-bit version. The program runs on Windows Vista and above. See the FSHED home page for more information.

Search And Replace — программа для поиска и замены текста в файлах

— программа для поиска и замены текста в файлах asp , html , php , txt , xml и тому подобных (текстовых).

Программа не работает с файлами doc , docx и mp3 . На других форматах её работоспособность не проверялась.

Скачать Search And Replace 3.1.0.2 с текущего сайта: zip 300 КБ Скачать Search And Replace 3.1.0.2 с официального сайта: страница с описанием zip 300 КБ

Search And Replace работает с кодировкой UTF-8.

Инструкция

Для Search And Replace установка не требуется — распаковав архив, программу можно сразу запустить.

Читайте также:  Windows system update exe

Язык только английский, но большинство элементов программы, которые мы будем использовать, я уже перевёл.

Первым делом нужно изменить настройки по умолчанию, зайдя в пункт меню Tools (Инструментарий) и установив метки как на скриншоте ниже:

Перевод пунктов меню смотрите ниже.

Простой способ поиска и замены

Step 1: Find. Replace with. (Шаг 1: Найти. Заменить на. )

  1. На вкладке Simple (Простой), в области Search for this text (Найти этот текст), вводится текст, который нужно найти и заменить; чуть ниже можно поставить метку Case Sensitive Search (Искать с учётом регистра), если нужен поиск с учётом регистра.
  2. В области Replace found text with this text (Заменить найденный текст на следующий) пишется текст, на который нужно заменить найденный.

Step 2: Where to replace (files etc) (Шаг 2: Где заменить (файлы и так далее))

Существует три способа указать ГДЕ найти и заменить текст .

Drag’n’Drop (Перетащить) Перетаскиваем на соответствующую область файлы, в которых нужно найти и заменить текст: Specify Directory (Указать папку) Выбираем папку, в которой находятся файлы для поиска и замены, с помощью кнопки Browse (Обзор); также, в случае необходимости, активируем опции Include subdirectories (Включая вложенные папки) и All files (Все файлы) или указываем расширения файлов через точку с запятой без пробела (.html;.php;.txt;. ) в соответствующем поле: Рекомендую всегда указывать конкретные расширения файлов (.html;.php;.txt;. ), так как иначе программа может (если обнаружит совпадения) автоматически заменить код «нетекстовых» файлов (например, изображений), что приведёт к их порче. Text (like notepad) (Текст (как блокнот)) В указанную область пишем текст, в котором нужно найти и заменить другой текст:

Шаг 3: Нажать кнопку Search and Replace (Найти и Заменить)

Пример для простого способа

Результат будет следующий: четыре плюс четыр е надцать равно икс

Из результата видно, что программа ищет и заменяет все вхождения, указанные в области ЧТО ЗАМЕНИТЬ , встречающиеся в документе; поэтому, для поиска и замены слов целиком, нужно к искомому и заменяемому (если требуется) выражениям добавить пробел с одной или с двух сторон — в зависимости от конкретной ситуации.

Поиск и замена по способу «От. До. »

Второй способ — это поиск текста по принципу «от такого-то до такого-то» и замена этого участка на другой. Для его использования нужно перейти на вкладку From. To. (От. До. ) и заполнить три области соответствующим текстом (как показано на скриншоте ниже), а всё остальное — по аналогии с простым способом:

Заменяя текст по этому способу, следует учесть то, что в области ЗАМЕНИТЬ НА нужно писать также текст областей ОТ и ДО (см. пример).

Пример для способа «От. До. »

Опция Case Sensitive Search (Искать с учётом регистра), в этом случае, должна быть активирована.

Добавление текста

Удаление текста

Перевод

Так как большинство элементов программы переведено в контексте выше, то далее рассмотрено только два пункта верхнего горизонтального меню.

Tools (Инструментарий) Preview Mode Предварительный просмотр. Test Mode (This tries to verify that the file content will be saved correctly) Тестовый режим (возможность проверить корректное сохранение содержимого файла). Show verbose logging Показывать подробный лог. Enable Notepad like functionality Включить Блокнот в функциональность. Check for updates now Проверить наличие обновлений. Check for updates every month Проверять наличие обновлений ежемесячно. Test Mode . перед началом работы нужно отключить, так как иначе программа работать не будет. Profile (Профиль) Save profile as. Сохранить профиль как. Save current profile Сохранить текущий профиль. Delete current profile Удалить текущий профиль.

  • Поиск и замена текста онлайн
  • Официальный сайт программы

Как вы можете найти и заменить текст в файле с помощью среды командной строки Windows?

Я пишу командный файл script с использованием командной строки Windows и хочу изменить каждое вхождение какого-либо текста в файл (например, «FOO» ) другим (например, «BAR» ). Каков самый простой способ сделать это? Любые встроенные функции?

ОТВЕТЫ

Ответ 1

Многие ответы здесь помогли мне указать верное направление, однако ни один из них не подошел для меня, поэтому я публикую свое решение.

У меня Windows 7, которая поставляется со встроенным PowerShell. Вот скрипт, который я использовал для поиска/замены всех экземпляров текста в файле:

Чтобы объяснить это:

  • powershell запускает powershell.exe, входящий в состав Windows 7
  • -Command «. » — аргумент командной строки для powershell.exe, содержащий команду для запуска
  • (gc myFile.txt) читает содержимое myFile.txt ( gc — сокращение от команды Get-Content )
  • -replace ‘foo’, ‘bar’ просто запускает команду замены, чтобы заменить foo на bar
  • | Out-File myFile.txt | Out-File myFile.txt вывод в файл myFile.txt
  • -encoding ASCII позволяет транскрибировать выходной файл в Unicode, как отмечают комментарии

Powershell.exe уже должен быть частью вашего оператора PATH, но если нет, вы можете добавить его. Его расположение на моей машине: C:\WINDOWS\system32\WindowsPowerShell\v1.0

Ответ 2

Если вы используете версию Windows, поддерживающую .NET, я бы заменил вашу оболочку. PowerShell дает вам полную мощность .Net из командной строки. В нем также много команд. Пример ниже поможет решить ваш вопрос. Я использую полные имена команд, есть более короткие псевдонимы, но это дает вам что-то для Google.

Ответ 3

Просто используется FART ( » F ind A nd R eplace T ext» утилита командной строки):
отличное небольшое бесплатное ПО для замены текста в большом наборе файлов.

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

Только проблема: значок веб-сайта FART не совсем со вкусом, утончен или элегантен;)

Обновление 2017 (7 лет спустя) jagb указывает в комментариях к статье 2011 года » FARTing the Easy Way — найти и заменить текст» из Mikail Tunç

Ответ 4

Заменить — заменить подстроку с помощью замены строки Описание: Чтобы заменить подстроку другой строкой, используйте функцию подстановки строк. Показанный здесь пример заменяет все вхождения «тех» орфографических ошибок с «the» в строковой переменной str.

Ответ 5

Создать файл replace.vbs:

Читайте также:  Не открывает zip mac os

Чтобы использовать этот измененный script (который хорошо вызывает replace.vbs), просто введите в командной строке команду, похожую на это:

cscript replace.vbs «C:\Scripts\Text.txt» «Jim » «James «

Ответ 6

BatchSubstitute.bat на dostips.com является примером поиска и замены с использованием чистого командного файла.

Он использует комбинацию FOR , FIND и CALL SET .

Линии, содержащие символы среди «&<>]|^ , могут обрабатываться некорректно.

Ответ 7

Примечание. Обязательно просмотрите обновление в конце этого ответа для ссылки на главный JREPL.BAT, который заменяет REPL.BAT
JREPL.BAT 7.0 и выше поддерживает Unicode (UTF-16LE) через опцию /UTF , а также любой другой набор символов, включая UTF-8, через ADO .

Я написал небольшую гибридную JScript/пакетную утилиту REPL.BAT, которая очень удобна для изменения файлов ASCII (или расширенных ASCII) через командную строку или командный файл. Чистый собственный скрипт не требует установки любого стороннего исполняемого файла, и он работает с любой современной версией Windows с XP. Это также очень быстро, особенно по сравнению с чистыми пакетными решениями.

REPL.BAT просто читает stdin, выполняет поиск и замену регулярного выражения JScript и записывает результат в stdout.

Вот тривиальный пример того, как заменить foo на bar в test.txt, если REPL.BAT находится в вашей текущей папке или, еще лучше, где-то внутри вашего PATH:

Возможности регулярного выражения JScript делают его очень мощным, особенно способность заменяющего текста ссылаться на захваченные подстроки из текста поиска.

Я включил ряд опций в утилиту, которые делают ее достаточно мощной. Например, объединение опций M и X позволяет изменять бинарные файлы! Параметр M Multi-line позволяет выполнять поиск по нескольким строкам. Параметр X eXtended substitution pattern предоставляет escape-последовательности, которые позволяют включить любое двоичное значение в заменяющий текст.

Вся утилита могла быть написана как чистый JScript, но гибридный пакетный файл устраняет необходимость явно указывать CSCRIPT каждый раз, когда вы хотите использовать эту утилиту.

Вот сценарий REPL.BAT. Полная документация встроена в скрипт.

ВАЖНОЕ ОБНОВЛЕНИЕ

Я прекратил разработку REPL.BAT и заменил его на JREPL.BAT. Эта новая утилита имеет все те же функциональные возможности REPL.BAT и многое другое:

  • Поддержка Unicode UTF-16LE через собственные возможности Unicode CSCRIPT и любой другой набор символов (включая UTF-8) через ADO.
  • Прочтите прямо из /write непосредственно в файл: нет необходимости в каналах, перенаправлении или переместить команду.
  • Включить предоставленный пользователем JScript
  • Функция перевода похожа на unix tr, только она также поддерживает поиск в регулярном выражении и замену JScript
  • Отменить несогласованный текст
  • Строки вывода префикса с номером строки
  • и более.

Как всегда, полная документация встроена в скрипт.

Теперь исходное тривиальное решение еще проще:

Текущая версия JREPL.BAT доступна в DosTips. Прочитайте все последующие сообщения в потоке, чтобы увидеть примеры использования и историю разработки.

Ответ 8

Использовать FNR

Используйте утилиту fnr . Он получил некоторые преимущества перед fart :

  • Регулярные выражения
  • Дополнительный графический интерфейс. Имеет кнопку «Создать командную строку» для создания текста командной строки для помещения в командный файл.
  • Многострочные шаблоны: GUI позволяет вам легко работать с многострочными шаблонами. В FART вы должны вручную избегать разрывов строк.
  • Позволяет выбрать кодировку текстового файла. Также есть опция автоматического определения.

Пример использования: fnr —cl —dir » » —fileMask «hibernate.*» —useRegEx —find «find_str_expression» —replace «replace_string»

Ответ 9

Я не думаю, что есть способ сделать это с помощью любых встроенных команд. Я предлагаю вам скачать что-то вроде Gnuwin32 или UnxUtils и используйте команду sed (или загрузите только sed ):

Ответ 10

Я знаю, что опаздываю на вечеринку.

Мы также широко используем функцию Dedupe, чтобы ежедневно доставлять примерно 500 электронных писем через SMTP: — https://groups.google.com/forum/#!topic/alt.msdos.batch.nt/sj8IUhMOq6o

и они оба работают изначально без каких-либо дополнительных инструментов или утилит.

DEDUPLICATOR (обратите внимание на использование -9 для номера ABA):

Ответ 11

Когда вы работаете с Git в Windows, просто запустите git-bash и используйте sed . Или, используя Windows 10, запустите «Bash в Ubuntu в Windows» (из подсистемы Linux) и используйте sed .

Редактор потока, но может редактировать файлы напрямую, используя следующую команду:

  • -i используется для редактирования на месте с именем файла.
  • -e указывает команду для запуска.
    • s используется для замены найденного выражения «foo» на «bar», а g используется для замены найденных совпадений.

Если вы хотите заменить строку в файлах с версией только в репозитории Git, вы можете использовать:

git ls-files | xargs sed -i -e ‘s/foo/bar/g’

который творит чудеса.

Ответ 12

Я использовал perl, и это работает чудесно.

.orig — это расширение, которое оно добавит к исходному файлу

Для нескольких файлов, соответствующих *.html

Ответ 13

Я играл с некоторыми из существующих ответов здесь и предпочитаю мое улучшенное решение.

или если вы хотите сохранить вывод снова в файл.

Преимущество этого в том, что вы можете транслировать вывод из любой программы. Посмотрите также на использование регулярных выражений. Не удалось решить, как сделать его в BAT файл для более легкого использования, хотя. (

Ответ 14

1) С опцией e? , которая будет оценивать специальные последовательности символов, такие как \n\r и последовательности Unicode. В этом случае будут заменены кавычки «Foo» и «Bar» :

2) Прямая замена, где Foo и Bar не указаны.

Ответ 15

Здесь решение, которое я нашел, работало на Win XP. В моем запущенном пакетном файле я включил следующее:

Файл replace.bat выглядит следующим образом. Я не нашел способ включить эту функцию в один и тот же командный файл, потому что переменная %%a всегда, кажется, дает последнее значение в цикле for.

Ответ 16

Взгляните на Есть ли какая-либо утилита sed для cmd.exe, которая запрашивала эквивалент sed под Windows, также должна применяться к этому вопросу. Краткое содержание:

  • Это можно сделать в пакетном файле, но это не очень.
  • Множество доступных сторонних исполняемых файлов, которые сделают это для вас, если у вас есть роскошь установки или просто копирования через exe
  • Может быть сделано с VBScript или аналогичным, если вам нужно что-то, что можно запустить в окне Windows без изменений и т.д.
Читайте также:  Windows не находит вирус

Ответ 17

Может быть, немного поздно, но я часто ищу похожие вещи, так как я не хочу испытывать боль при получении одобренного программного обеспечения.

Однако вы обычно используете оператор FOR в разных формах. Кто-то создал полезный командный файл, который выполняет поиск и замену. Посмотрите здесь. Важно понимать ограничения предоставленного пакетного файла. По этой причине я не копирую исходный код в этом ответе.

Ответ 18

Два пакетных файла, которые предоставляют функции search and replace , были написаны членами Qaru dbenham и aacini с использованием native built-in jscript Windows native built-in jscript .

Они оба robust и very swift with large files по сравнению с обычными пакетными сценариями, а также simpler в использовании для базовой замены текста. Они оба имеют соответствие шаблону Windows regular expression .

Этот sed-like вспомогательный пакетный файл называется repl.bat (от dbenham).

Пример использования литерала L :

Этот grep-like вспомогательный командный файл называется findrepl.bat (от aacini).

Пример с активными регулярными выражениями:

Обе они становятся мощными общесистемными утилитами, when placed in a folder that is on the path , или могут использоваться в той же папке с командным файлом, или из командной строки cmd.

Оба имеют переключатели без case-insensitive и многие другие функции.

Ответ 19

Команда командной оболочки работает как шарм

Ответ 20

Просто столкнулся с аналогичной проблемой — «Искать и заменять текст в файлах», но, за исключением того, что для обоих имен файлов и поиска /repalce мне нужно использовать регулярное выражение. Поскольку я не знаком с Powershell и хочу сохранить мои поиски для последующего использования, мне нужно что-то более «удобное для пользователя» (желательно, если у него есть GUI).

Итак, в то время как Googling:) я нашел отличный инструмент — FAR (Найти и заменить) (а не FART).

Эта небольшая программа имеет приятный графический интерфейс и поддерживает регулярное выражение для поиска в именах файлов и внутри файлов. Только disadventage заключается в том, что если вы хотите сохранить свои настройки, вы должны запустить программу в качестве администратора (по крайней мере, на Win7).

Ответ 21

Это одно дело, что пакетный скриптинг просто не работает.

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

VBScript — лучший встроенный инструмент для этой задачи. См. Эту статью для примера: http://www.microsoft.com/technet/scriptcenter/resources/qanda/feb05/hey0208.mspx

Ответ 22

Для простой замены строк в файлах я использую с тех пор свободные Xchang32.exe из Коллекция Clay Utilities for Win32.

У него есть несколько вариантов быстрой замены строк в текстовых файлах, а также байтов в двоичных файлах. Он поддерживает также подстановочные знаки в строке имени файла и может быть выполнен по этой причине также для всех файлов в каталоге, соответствующем шаблону подстановочного знака.

И ничто другое не требуется для этого небольшого 32-битного консольного приложения, чем файл Xchang32.exe, извлеченный из ZIP файла, в любую директорию, такую ​​как каталог пакетного файла, вызывающий его для замены (s).

Эта командная строка заменяет в файле MyBinaryFile.bin каждый байт значением 3 на два байта со значениями 2 и 5.

Общей проблемой с использованием wmic является то, что выход является файлом Unicode, хотя все символы определенно находятся в диапазоне символов ASCII, т.е. имеют значение кодовой точки ниже десятичного числа 128.

Этот небольшой пакетный код с использованием Xchang32 преобразует выходной файл wmic Unicode, содержащий только символы ASCII в текстовый файл ASCII.

Но иногда вывод wmic перенаправляется непосредственно в текстовый файл ASCII, в результате чего CR CR LF (0D 0D 0A) в текстовом файле ASCII вместо 0D 0A (возврат каретки + строка-строка). Эти неправильные окончания строк также можно легко скорректировать с помощью Xchang32:

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

Примечание: ^ и , имеют особое значение в синтаксисе Xchang32 и поэтому должны быть экранированы с помощью другого ^ или , , как это сделано в командной строке выше, или переключателя /s используется для простых строк. Это описано в файле ReadMe32.txt , а также в выводе справки при запуске Xchang32.exe /? в окне командной строки.

Ответ 23

@Rachel дал отличный ответ, но вот его вариант, чтобы прочитать содержимое переменной powershell $data . Затем вы можете легко манипулировать контентом несколько раз перед записью в выходной файл. Также посмотрите, как многострочные значения задаются в пакетных файлах .bat.

Ответ 24

Использовать powershell в .bat — для Windows 7 +

кодировка utf8 является необязательной, подходит для веб-сайтов

Ответ 25

Я предпочитаю использовать sed из утилит GNU для Win32, необходимо отметить следующее

  • одинарная кавычка » не будет работать в Windows, вместо этого используйте «»
  • sed -i не будет работать в Windows, для этого потребуется обмен файлами

Таким образом, рабочий код sed для поиска и замены текста в файле в Windows, как показано ниже

Ответ 26

Загрузите Cygwin (бесплатно) и используйте unix-подобные команды в командной строке Windows.

Ваш лучший выбор: sed

Ответ 27

Также можно увидеть инструменты Replace и ReplaceFilter в https://zoomicon.github.io/tranXform/ (источник включен). Второй — это фильтр.

Инструмент, который заменяет строки в файлах, находится в VBScript (требуется Windows Script Host [WSH] для запуска в старых версиях Windows)

Фильтр, вероятно, не работает с Unicode, если вы не перекомпилируете последний Delphi (или с FreePascal/Lazarus)

Ответ 28

Я столкнулся с этой проблемой несколько раз при кодировании в Visual С++. Если у вас есть это, вы можете использовать Visual Studio Find and Replace Utility. Он позволяет вам выбрать папку и заменить содержимое любого файла в этой папке любым другим желаемым текстом.

В Visual Studio: Изменить → Найти и заменить В открывшемся диалоговом окне выберите свою папку и заполните поля «Найти что» и «Заменить с». Надеюсь, это будет полезно.

Оцените статью