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

Работа из командной строки доступна после регистрации приложения @Text Replacer.

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

Правила

  • Для всех ключей и их значений действуют следующие правила:
  • Командная строка должна начинаться с tr.
    Например: для использования ключа /? нужно указать: tr /?
  • Ключи начинаются с прямого слеша /. В наименованиях ключей не учитывается регистр символов
  • Ключ и его значение разделяются пробелом. Несколько значений ключа указываются через пробел
  • Ключи разделяются одним или несколькими пробелами
  • Пути к файлам и папкам берутся относительно текущей директории, обычно той, где находится tr.exe
  • Пути файлов и папок заключаются в кавычки, если содержат пробелы. Допускается указание прямых слешей (/)
  • Ключи имеют полное и сокращенное наименование.
    Например: можно указать /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
Текст для поиска. Может быть только текстом в одну строку, без пробелов и (/). Для задания произвольного текста необходимо использовать ключ /findtextf.
/tf, /findtextf
Путь к файлу с текстом для поиска, используется, если не указан /findtext. Файл должен быть текстовым, если в файле есть русские символы - необходимо, чтобы они были в кодировке кириллица (windows-1251).
/x, /replacetext
Текст для замены. Может быть только текстом в одну строку, без пробелов и (/). Для задания произвольного текста замены необходимо использовать /replacetextf.
/xf, /replacetextf
Путь к файлу с текстом для замены, используется, если не указан /replacetext.
/c, /matchcase
Ключ указывает учитывать регистр при поиске. Если не указан, регистр символов игнорируется.
/l, /fileresults
Путь к файлу с результатами замены (поиска), результаты дописываются в конец файла. Если не указан, результаты не фиксируются.
/is, /ignorspace
Ключ указывает игнорировать пробелы при поиске (при работе с файлами Word игнорирование символов не действует).
/ir, /ignorreturn
Ключ указывает игнорировать переводы строки при поиске (в версиях TR2.XX при работе с файлами Word игнорирование символов не действует).
/a, /abortonerror
Ключ указывает остановить работу в случае возникновения ошибок при работе с файлом, таких как:
  • невозможность произвести чтение файла (например, файл занят другим приложением);
  • невозможность сделать замену, если файл имеет атрибут только-для-чтения;
  • и т.д.
Если ключ не указан, утилита пропустит данный файл и продолжит обработку остальных.

Примеры

Примеры использования:
  1. tr /findtext abc /replacetext def
    tr /t abc /x def
    
    
    • заменяет текст abc на def во всех файлах текущей директории;
    • результаты не фиксируются;
    • поиска по вложенным папкам нет;
    • регистр символов не учитывается;
    • учитываются пробелы и переводы строки.

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

  3. tr /findtextf ftext.txt /replacetextf 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, log.txt берется относительно текущей директории (обычно той, из которой запущен tr.exe).