Содержание



Основы работы с приложением

Назначение

Программа @Text Replacer осуществляет поиск и замену текста в файлах выбранной папки и подпапок. Поддерживается поиск и замена многострочных фрагментов текста с учетом регистра и игнорируемых символов - таких как пробелы, переводы строки (windows и *nix).

Программа обрабатывает файлы следующих типов:
  1. Текстовые файлы (*.txt, *.ini, *.html и т.д.) - поиск и замена в выбранной кодировке (см. Особенности работы поиска/ замены).
  2. Документы Word (*.doc, *.docx, *.rtf) - поиск и замена (см. Особенности работы поиска/ замены).
  3. Любые другие файлы обрабатываются подобно текстовым.

@Text Replacer может работать в одном из двух режимов:

  1. Через интерфейс
  2. Из командной строки

Описание работы через интерфейс

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

  1. Запустить на выполнение файл TR.exe. Откроется приложение вида:

TextReplacer - поиск и замена текста

  1. В поле Имя указать файлы для поиска/ замены текста, а в поле Папка полный путь.
    Если имя файла содержит пробелы или запятые, его необходимо заключить в кавычки. Например: "Отчет за год.doc"
    Если нужно обработать файлы нескольких типов, их можно задать через пробел или запятую. Например: *.txt,*.doc
  2. Задать текст для поиска и замены: что искать и на что заменять - поля Найти и Заменить на соответственно.
    Размер текста, введенного в полях поиска/замены, для файлов Word не должен превышать 255 символов
  3. На вкладке Дополнительно:

TextReplacer - поиск и замена текста с игнорированием символов и поддержкой кодировок

    определить дополнительные условия:
    • в какой кодировке искать и заменять текст
        в выбранной кодировке текст не только ищется, но и заменяется также в этой кодировке, см. Пример.
        Список кодировок можно расширить, добавив нужные в файл cfg.ini, раздел CodePages.
        При работе с документами Word кодировка не имеет значения
    • какие символы игнорировать
        символы игнорируются не только в искомых файлах, но и в поле Найти, см. Пример.
        Список игнорируемых символов можно расширить, добавив нужные в файл cfg.ini, раздел Ignore.
        При работе с документам Word игнорирование символов не действует
    • учитывать или нет регистр
    • сохранять ли результаты поиска/ замены и если сохранять, то куда
        в файле результатов отображаются:
      • дата и время начала поиска
      • значения полей и флагов:
        • Имя, Папка, Просмотреть вложенные папки
        • Учитывать регистр, Игнорировать символы, Кодировка
        • Найти и Заменить на (если нажата кнопка Поиск, то строка Заменить на не пишется, чтобы различать ситуации просто поиска и замены с пустым полем Заменить на)
      • список найденных файлов с полным путем
      • общее количество найденных файлов.
  1. Нажать кнопку Заменить/ Найти. Появится список с результатами поиска:

@TextReplacer - поиск и замена многострочныйх фрагментов текста. Результат поиска

  1. По кнопке Новый поиск очищаются поля Найти и Заменить на, а также сворачивается список результатов поиска. Остальные параметры остаются без изменений.

Особенности работы поиска/ замены
    1. Текстовые файлы
    Русские буквы и другие нелатинские символы, заданные в поле поиска и в поле замены, интерпретируются в соответствии с выбранной кодировкой на вкладке Дополнительно. Для правильного поиска и замены нелатинских символов, необходимо чтобы выбранная кодировка совпадала с кодировкой файлов, в которых требуется произвести поиск/замену (см. Пример).
    2. Документы Word
    Если на компьютере не установлен MS Word или установлен неправильно, то поиск в файлах Word проводиться не будет.
    Поиск и замена в документах Word работает как диалог поиска и замены самого Word, за исключением следующих полей (могут быть заданы через меню документа Вид или Вставка):
    1. Надпись - замена работает, если установлен MS Word 2000/XP, для MS Word 97 работает только поиск
    2. Примечание - поиск и замена работает, если установлен MS Word XP
    3. Сноска - поиск и замена не работают
    3. Текст с переводом каретки Unix
    В исходном тексте перевод каретки Unix заменяется на перевод каретки Windows.
    Пример: Файл 1.txt содержит текст:
    1
    2
    3
    
    в котором используются переводы каретки формата Unix (символ %0A).
    В поле Заменить на указываем текст:
    4
    5
    6
    
    После нажатия кнопки Заменить файл 1.txt будет содержать текст:
    4
    5
    6
    
    но переводы каретки в нем уже будут формата Windows (символ %0D%0A).

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

Пример работы игнорируемых символов

В папке есть три файла:

1.txt
с текстом:
123

2.txt
с текстом:
1
2
3

3.txt
с текстом:
1  2  3
Результаты поиска при различных комбинациях отражены в таблице:

Найти Игнорировать символы Результаты поиска
123 - 1.txt
Перевод строки 1.txt, 2.txt
Пробел 1.txt, 3.txt
Перевод строки, Пробел 1.txt, 2.txt, 3.txt
1
2
3
- 2.txt
Перевод строки 1.txt, 2.txt
Пробел 2.txt
Перевод строки, Пробел 1.txt, 2.txt, 3.txt
1  2  3 - 3.txt
Перевод строки 3.txt
Пробел 1.txt, 3.txt
Перевод строки, Пробел 1.txt, 2.txt, 3.txt

Пример работы кодировок

В папке есть три файла с одинаковым текстом: Джо Смит, Joe Smith, но в разных кодировках:

1.txt
кодировка ANSI

2.txt
кодировка UTF-8

3.txt
кодировка KOI8
Результаты поиска и замены отражены в таблице:

Найти Заменить на Кодировка на вкладке Дополнительно Результаты поиска Текст в файле после замены Комментарий к замене
Джо Джозеф ANSI 1.txt Джозеф Смит, Joe Smith -
UTF-8 2.txt Джозеф Смит, Joe Smith -
KOI8 3.txt Джозеф Смит, Joe Smith -
Joseph ANSI 1.txt Joseph Смит, Joe Smith -
UTF-8 2.txt Joseph Смит, Joe Smith -
KOI8 3.txt Joseph Смит, Joe Smith -
Joe Джозеф ANSI 1.txt Джо Смит, Джозеф Smith русские буквы "Джозеф" были записаны во все найденные файлы в кодировке ANSI
2.txt Джо Смит, Smith
3.txt Джо Смит, дФНГЕТ Smith
UTF-8 1.txt Джо Смит, Джозеф Smith русские буквы "Джозеф" были записаны во все найденные файлы в кодировке UTF-8
2.txt Джо Смит, Джозеф Smith
3.txt Джо Смит, п¦пTп+пTп¦яL Smith
KOI8 1.txt Джо Смит, дЦПЪЕЖ Smith русские буквы "Джозеф" были записаны во все найденные файлы в кодировке KOI8
2.txt Джо Смит, Smith
3.txt Джо Смит, Джозеф Smith
Joseph ANSI 1.txt, 2.txt, 3.txt Джо Смит, Joseph Smith для латинских букв кодировка не имеет значения
UTF-8 1.txt, 2.txt, 3.txt Джо Смит, Joseph Smith
KOI8 1.txt, 2.txt, 3.txt Джо Смит, Joseph Smith


Поиск и замена из командной строки

Этот режим предоставляет возможность автоматизировать выполнение периодически повторяющихся задач, связанных с поиском и заменой текста в файлах, с помощью запуска tr.exe из *.bat файлов или скриптов.

Работа с tr.exe из командной строки аналогична DOS утилитам. Ключ /? показывает справку по всем доступным ключам и их значениям. Расширение .exe можно не указывать.

Правила

Для всех ключей и их значений действуют следующие правила:

  • Командная строка должна начинаться с tr.
      Например: для использования ключа /? нужно указать: tr /?
  • Ключи начинаются с прямого слеша (/). В наименованиях ключей не учитывается регистр символов
  • Ключ и его значение разделяются пробелом. Несколько значений ключа указываются через пробел
  • Ключи разделяются одним или несколькими пробелами
  • Пути к файлам с текстом поиска и замены берутся относительно текущей папки, обычно той, где находится tr.exe
  • Путь к файлу с результатами замены (поиска) берется относительно папки в профиле пользователя Windows (например, C:\Documents and Settings\<Имя пользователя>\Local Settings\Application Data\Text Replacer)
  • Пути файлов и папок заключаются в кавычки, если содержат пробелы. Допускается указание прямых слешей (/)
  • Ключи имеют полное и сокращенное наименование.
      Например: можно указать /folder или просто /d.

Ключи

Список доступных ключей:
/?
Справка по доступным ключам.
/s, /search
Ключ указывает производить только поиск, без замены текста. Если ключ отсутствует, производится замена.
/e, /files
В параметре через пробел указываются маски файлов. Если ключ отсутствует, используется маска "*.*", т.е., все файлы.
Пример: /e *.txt *.htm или /files *.txt *.htm - указано производить замену только в файлах с расширениями *.txt и *.htm.
/d, /folder
Путь к папке с файлами, в которых будет производиться замена. Если путь содержит пробелы, его необходимо заключить в кавычки. Пример: /d "C:\Program Files"
Если ключ отсутствует, поиск не осуществляется.
/r, /recursive
Ключ указывает просматривать вложенные папки. Если не указан, поиск осуществляется только по файлам в папке /folder.
/t, /findtext
Текст для поиска. Может быть только текстом в одну строку, без пробелов и (/). Строка должна быть в кодировке DOS. Для задания произвольного текста необходимо использовать ключ /findtextf.
/tf, /findtextf
Путь к файлу с текстом для поиска, используется, если не указан /findtext. Файл может быть документом Word, либо текстовым в кодировке ANSI. Если имя файла содержит пробелы или запятые, его необходимо заключить в кавычки.
Для документов Word размер текста не должен превышать 255 символов.
/x, /replacetext
Текст для замены. Может быть только текстом в одну строку, без пробелов и (/). Строка должна быть в кодировке DOS. Для задания произвольного текста замены необходимо использовать /replacetextf.
/xf, /replacetextf
Путь к файлу с текстом для замены, используется, если не указан /replacetext. Файл может быть документом Word, либо текстовым в кодировке ANSI. Если имя файла содержит пробелы или запятые, его необходимо заключить в кавычки.
Для документов Word размер текста не должен превышать 255 символов.
/cp, /codepage
Ключ указывает, в какой кодировке производить поиск и замену. Кодировка поиска влияет на искомые файлы и не влияет на файлы, задаваемые ключами /findtextf и /replacetextf.
Если ключ не указан, используется кодировка ANSI.
Примеры:
    /cp:ansi, /codepage:ansi
    Ключ указывает использовать кодировку ANSI
    /cp:utf8, /codepage:utf8
    Ключ указывает использовать кодировку UTF-8
    /cp:koi8, /codepage:koi8
    Ключ указывает использовать кодировку KOI8
/ir, /ignorreturn
Ключ указывает игнорировать переводы строки при поиске. При работе с документами Word игнорирование символов не действует.
/is, /ignorspace
Ключ указывает игнорировать пробелы при поиске. При работе с документами Word игнорирование символов не действует.
/c, /matchcase
Ключ указывает учитывать регистр при поиске. Если не указан, регистр символов игнорируется.
/l, /fileresults
Путь к файлу с результатами замены (поиска), результаты дописываются в конец файла. Если не указан, результаты не фиксируются.
/a, /abortonerror
Ключ указывает остановить работу в случае возникновения ошибок при работе с файлом, таких как:
  • невозможность произвести чтение файла (например, файл занят другим приложением);
  • невозможность сделать замену, если файл имеет атрибут только-для-чтения;
  • и т.д.
Если ключ не указан, утилита пропустит данный файл и продолжит обработку остальных.

Примеры

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

  1. tr /findtext абв /replacetext abc /codepage:utf8 /folder D:\test
    tr /t абв /x abc /cp:utf8 /d D:\test
    
    • заменяет текст абв на abc во всех файлах папки "D:\test\";
    • результаты не фиксируются;
    • поиска по вложенным папкам нет;
    • регистр символов не учитывается;
    • учитываются пробелы и переводы строки;
    • в искомых файлах текст ищется и заменяется в кодировке UTF-8.

  2. tr /findtext абв /folder D:\test /matchcase /search
    tr /t абв /d D:\test /c /s
    tr /t абв /d D:/test /c /s
    
    • производится только поиск текста абв во всех файлах папки D:\test\;
    • результаты не фиксируются;
    • поиска по вложенным папкам нет;
    • учитываются регистр символов, пробелы и переводы строки;
    • в искомых файлах ищется текст в кодировке ANSI.

  3. tr /findtextf ftext.txt /replacetext rtext.txt /folder "D:\Program Files"
     /recursive /fileresults log.txt /ignorspace /ignorreturn
    tr /tf ftext.txt /xf rtext.txt /d "D:\Program Files" /r /l log.txt /is /ir
    
    • заменяет текст из файла ftext.txt на текст файла rtext.txt во всех файлах папки D:\Program Files и ее вложенных подпапках;
    • результаты дописываются в log.txt;
    • игнорируются регистр символов, пробелы и переводы строки;
    • путь к файлам ftext.txt, rtext.txt берется относительно текущей папки (обычно той, из которой запущен tr.exe);
    • путь к файлу log.txt берется относительно папки в профиле пользователя Windows (например, C:\Documents and Settings\<Имя пользователя>\Local Settings\Application Data\Text Replacer)
    • в искомых файлах текст ищется и заменяется в кодировке ANSI.


Регистрация программы

Зачем нужна регистрация

@Text Replacer без регистрации не имеет функциональных ограничений.
Если вам понравилась программа и вы хотите помочь разработчику, поддержать проект для продолжения выпуска новых версий, вы можете это сделать c помощью добровольного пожертвования.

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

Информация о регистрации

Чтобы узнать регистрационные данные вашего экземпляра программы, а именно: на чье имя она зарегистрирована, номер ключа и до какой даты вы поддержали разработку, - нужно выбрать команду О программе в меню ?.
Появится диалог вида:

TextReplacer - утилита для поиска и замены текста. О программе и поддержке разработки

Если программа не зарегистрирована, то в информационном поле будет указано "Вы пока не поддержали разработку программы. Регистрационный ключ отсутствует."

Регистрационный ключ

Вы можете получить регистрационный ключ, поддержав разработку программы на странице http://tr.infortech.ru/donate.

Как происходит регистрация

Регистрация @Text Replacer проводится в следующей последовательности:

  1. Из полученного письма скопируйте регистрационный ключ.
  2. По команде Зарегистрировать в меню ? откройте форму регистрации:

    @TextReplacer - утилита для поиска и замены текста. Окно для ввода ключа

  3. Вставьте ключ продукта и нажмите кнопку Готово.