Как заменить текст во всех файлах в указанной папке
Перейти к содержимому

Как заменить текст во всех файлах в указанной папке

  • автор:

Заменить определенные значения во всех файлах excel в папке и подпапках

Здравствуйте Уважаемые программисты! Подскажите пожалуйста, как кодом vba excel 2007 автоматизировать следующее: В определенной папке и в ее подпапках лежат файлы excel «.xltx» (.xl*). Нужно во всех этих файлах найти в диапазоне ячеек «A1:T7» значения «2018» либо «2019» либо «2020» И заменить на «2021»? с сохранением файлов. Заранее спасибо!

Отслеживать
задан 19 фев 2021 в 11:28
11 3 3 бронзовых знака

Вообще-то это плохая идея. Старайтесь всегда выполнить задачу так, чтобы можно было вернуться к предыдущему варианту данных. Другими словами, Ваша задача лучше формулируется как «Создать в указанной папке копию исходной папки со всеми вложенными подпапками и скопировать в неё все файлы ,xl, попутно заменяя значения в диапазоне A1:T7 на 2021″

19 фев 2021 в 11:45
Перебираете файлы (FSO.Folder.Files). Каждый файл — Load-Replace-SaveAs-Close.
19 фев 2021 в 11:55

Ищите решение задач: рекурсивный перебор папок и подпапок; открытие книг в цикле; замена значений; сохрание книг (по совету JohnSUN — «сохранить как»). А еще: проверка наличия исходной папки; проверка наличия нужного листа в книге; создание каталога для сохранения книг.

19 фев 2021 в 12:01

С «заменой значений», боюсь, не всё так просто. этот самый либо «2019» либо «2020» может оказаться частью даты. С частью строки или отдельным числом проблем не должно возникнуть (обычный поиск/замена), а вот с датами, возможно, придется повозиться.

Каким образом можно заменить один кусок текста другим сразу в нескольких файлах html?

Ищу способ замены фрагментов в html-файлах другими фрагментами в случае, если файлов десятки или сотни.

  • Вопрос задан более трёх лет назад
  • 2453 просмотра

Комментировать
Решения вопроса 0
Ответы на вопрос 2
Вадим Белкин @BelkinVadim
Frontend разработчик

Notepad++ простой, быстрый редактор. Поиск и замена в одном или множестве файлов, как открытых, так и в указанной папке

Ответ написан более трёх лет назад
Нравится 4 2 комментария
Maxibonoff @Maxibonoff Автор вопроса
К сожалению, он только для винды, а у меня мак

kawabanga

а вообще, точно с задачей справляется phpstorm.

mrusklon

Не получается? Яростно гугли!

на сервере удобно использовать основы php , берем делаем папку аля «сниппеты» , туда создаем файлы text.php, kusok_koda.php и т.п
В тех местах где нужно выводить код делаем импорт файла php
Выходит у нас некая cms только без удобного управления.

Ответ написан более трёх лет назад
Maxibonoff @Maxibonoff Автор вопроса

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

mrusklon

тогда да , любая IDE должна с этим справиться

Если вам именно кусок кода (многострочный), то придётся повозиться. А если просто некоторые фразы, то sed и awk ваши друзья 🙂

Ваш ответ на вопрос

Войдите, чтобы написать ответ

html

  • HTML

Не могу задать ширину таблицы html?

  • 1 подписчик
  • 6 часов назад
  • 49 просмотров

html

  • HTML
  • +1 ещё

Как сделать так, чтобы содержимое defs работало?

  • 1 подписчик
  • вчера
  • 41 просмотр

UV FilesCorrector

Обычный механизм замены тут не помощник. Либо долго, либо вообще невозможно. А вот с UV FilesCorrector эта задача становится очень простой и быстрой.

Вот неполный список возможностей программы по работе с текстом:

  • Возможность исправлять сразу множество файлов
  • Производить множество разных замен друг за другом
  • Заменять выделенный текст в любой программе
  • Использовать в поиске и замене нестандартные символы (например ©, ® и многие другие)
  • Использовать поиск по шаблону (регулярные выражения)
  • Есть возможность работать с файлами XML, используя язык запросов xPath.
  • И многое другое

И все это одним нажатием на кнопку!

Содержание

  • Список замен
  • Замена текста в файлах
  • Замена текста в буфере обмена
  • Замена выделенного текста в любой программе
  • Замена в XML файлах
  • Работа с командной строки
  • Заменить при условии .
  • Поиск по шаблону (регулярные выражения)
  • Удобные «фишки»

Список замен

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

Невидимые символы обозначаются в списке условными обозначениями в квадратных скобках. Например переходы на новую строку обозначаются как [nw], табуляция как [t] и т.д. Условные обозначения показаны под списком замен.

Создание и редактирование замены

При создании и редактировании замены открывается окно, показанное ниже.

В тексте «Что найти» и «Заменить на» можно использовать переход на новую строку и табуляции.

В новой версии можно задавать количество повторений замены. Например если нужно заменить повторяющиеся пробелы, оставив один единственный. Переключаем опцию «Повторять замену» на «Пока есть что заменять». Все лишние пробелы будут удалены.

Замена текста в файлах

Примерный порядок действий:

  • Выбрать папку с файлами
  • Задать маску файлов, если нужно (в примере это «*.txt;*.xml»)
  • Отметить нужные файлы
  • Нажать кнопку «Заменить»

По завершению обработки файлов будет выдано сообщение о количестве произведенных замен. Можно посмотреть журнал произведенных замен.

Замена текста в буфере обмена

Вкладка «Буфер обмена» показывает текст, скопированный в буфер обмена. При нажатии кнопки «Заменить» этот текст в соответствии со списком замен. После этого можно сразу вставлять измененный текст с помощью Ctrl + V. Добавлена возможность заменять текст в буфере обмена по горячей клавише Ctrl + Shift + C.

Замена выделенного текста в любой программе

Добавлена горячая клавиша Ctrl + Shift + X для замены выделенного текста в любой программе. Не важно в какой программе Вы редактируете текст. Просто выделите текст и нажмите Ctrl + Shift + X.

Замена в XML файлах

Для этого необходимо при редактировании замены отметить галочку «XML» и задать xPath. Затрагивается только текст в атрибутах и между тэгами (в том числе в разделе CDATA). Ищутся все элементы для которых условие xPath истинно. Текст заменяется в самом элементе и во всех дочерних элементах (см. пример 2.а). Расширение файла может быть любым (необязательно xml). Примеры: Заменим «text» на «TEXT», но не во всем тексте, а только в нужных местах Исходный XML (фрагмент)
text color
text color

1. xPath = «//item/@name» Результат:
text color
text color

2. xPath = «//item» Результат:
TEXT color
TEXT color

3. xPath = «//item/title» Результат:
TEXT color
text color

Примечание:
Если при указании xPath не указывать «что найти», то будет заменен любой текст по указанному xPath.

Работа с командной строки

Для запуска UV FilesCorrector с командной строки нужны два файла:
— файл, содержащий список файлов для замены
— файл, содержащий список замен (создайте необходимые замены с помощью UV FilesCorrector и сохраните в файл).

Утилита запускается в скрытом режиме и закрывается после завершения работы. Формат команды: «UV FilesCorrector.exe» «Files.txt» «Replaces.lst» Пример файла Files.txt со списком файлов для замены. Имена файлов должны быть на отдельных строках. Можно использовать полные и относительные (относительно папки в которой лежит Files.txt) пути к файлам.

c:\Temp\Test.txt
Годовой отчет.txt
Docs\Документ1.txt

В качестве примера файла Replaces.lst можно взять файл Default.lst из каталога программы. Внимание:
Будут произведены только те замены в которых 1

Заменить при условии

Допустим в папке много файлов в которых нужно исправить текст. Но в некоторых файлах исправлять не нужно (либо уже исправлено, либо просто не нужно). В таких случаях бывают полезными дополнительные условия замены, где можно указать:

  • Заменять если присутствует текст «. «
  • Заменять если отсутствует текст «. «
  • Не заменять если присутствует текст «. «
  • Не заменять если отсутствует текст «. «

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

Поиск по шаблону (регулярные выражения)

Очень мощный инструмент для поиска. Когда неизвестен сам текст, но известны его свойства. Например найти и удалить из текста все e-mail адреса или телефоны. В качестве очень простого примера приведем такое регулярное выражение: \d Такое выражение ищет в тексте три цифры подряд. Можно искать в тексте e-mail, URL, номер телефона и многие другие вещи. Теперь в UV FilesCorrector есть Мастер, помогающий в составлении регулярных выражений. Само окно мастера содержит краткий справочник по регулярным выражениям и средство проверки составленных выражений Для проверки регулярного выражения заполните текстовое поле «Текст для проверки». Если отметить галочку «Анализировать каждую строку», то регулярное выражение будет применяться к каждой строке. Иначе ко всему тексту целиком. При проверке следует указывать как строки, подходящие по условию, так и те которые должны быть пропущены. Фрагмент регулярного выражения в скобках образует подмаску (подтекст) который можно использовать в «Заменить на». $1 — первая подстрока, $2 — вторая и т.д. Подробнее на примерах ниже.

Исходный текст Шаблон Заменить на Результат
before 1234 after (\d+) цена $1 руб. before цена 1234 руб. after
before 1234 after (\d+) $1.00 before 1234.00 after
before 1234 after (\d)(\d) $2$1 before 3412 after
. abc@mail.ru . \s([\w.]+@[\w.]+)\s $1 . abc@mail.ru «> abc@mail.ru .

Удобные «фишки»

В новой версии добавлены:

  1. Галочка «Только отмеченные» для списка замен и списка файлов. Отображаются только отмеченные элементы, часто это довольно удобно.
  2. Добавлена опция «Во всех вложенных подпапках» для списка файлов. Все найденные файлы, удовлетворяющие условиям отбора, отображаются в списке. Имя файла в списке показывается относительно выбранной папки.
  3. Быстрый фильтр для списка замен и для списка файлов. Набирая текст при включенном фильтре, Вы оставляете в списке только те файлы, в имени которых встречается набранный текст.
  4. Мастер для составления и отладки регулярных выражений
  5. Возможность произвести замену в файлах, просто перетащив их на главное окно uvFilesCorrector

Документация

Вы можете искать и необязательно заменять любой текст в файле, открытом в редакторе или Live Editor. Чтобы искать текст в файле, на вкладке Editor или Live Editor, в разделе Navigate, нажмите кнопку Найти. Можно также использовать Ctrl+F горячая клавиша.

В диалоговом окне поиска и замены введите текст, который вы хотите искать, а затем используйте кнопки Find Next и Find Previous для поиска вперед или назад через файл. В Live Editor и в MATLAB ® Online™ используйте кнопки и или F3 и Shift+F3 горячих клавиш.

Чтобы найти текст, соответствующий регистру текста поиска, установите флажок Match case. Чтобы найти точное соответствие полному слову, установите флажок Whole word. В Live Editor и в MATLAB Online эти опции доступны с помощью кнопок и .

Чтобы заменить текст в файле, введите текст, которым вы хотите заменить текст поиска, а затем используйте кнопки Replace или Replace all, чтобы заменить текст. В Live Editor и MATLAB Online нажмите кнопку развертывания слева от поля поиска, чтобы открыть опции замены. Затем введите текст, который необходимо заменить текстом поиска, и используйте кнопки и для замены текста.

Поиск и замена функций или переменных в текущем файле

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

Поиск ссылок на функцию или переменную с помощью автоматической подсветки путем следующих шагов:

  1. В файле, открытом в редакторе, щелкните образец переменной, которую вы хотите найти в файле. MATLAB указывает все вхождения этой переменной в файле следующим образом:
  • Подсветка их в синем цвете (по умолчанию) на протяжении всего файла
  • Добавление маркера для каждого на панели индикаторов Если индикатор анализатора кода и индикатор переменной появляются в одной линии в файле, маркер переменной имеет приоритет.

На этом изображении показан пример вида редактора с включенной подсветкой переменных. На изображении переменная i появляется подсвеченным небесно-синим цветом, а индикаторная полоса содержит три переменных маркера.

Чтобы отключить автоматическую подсветку, перейдите на вкладку Home и в разделе Environment нажмите Preferences. В MATLAB Colors > Programming Tools > снимите флажок Automatically highlight.

Автоматическое переименование всех функций или переменных в файл

Чтобы помочь предотвратить типографские ошибки, MATLAB предоставляет функцию, которая помогает переименовать несколько ссылок в функцию или переменную в файле, когда вы вручную изменяете любое из следующего:

Имя функции в объявлении функции

Переименовать foo в:

Вход или выходной переменной в объявлении функции

Переименовать y или m в:

function y = foo(m)

Имя переменной в левой части оператора назначения

Переименовать y в:

Когда вы переименуете такую функцию или переменную, всплывающая подсказка открывается, если в файле есть более одной ссылки на эту переменную или функцию. Подсказка указывает, что MATLAB переименует все образцы функции или переменной в файле при нажатии Shift + Enter.

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

Примечание

MATLAB не запрашивает вас при изменении:

  • Имя глобальной переменной.
  • А входной параметр функции и выходные аргументы, varargin и varargout .

Чтобы отменить автоматическое изменение имен, щелкните один раз.

Автоматическое переименование переменной и функции включено по умолчанию. Чтобы отключить его:

  1. На вкладке Home, в разделе Environment, нажмите Preferences.
  2. Выберите MATLAB >Editor/Debugger >Language.
  3. В поле Language выберите MATLAB.
  4. Очистить Enable automatic variable and function renaming.

В MATLAB Online настройки переименования переменных и функций расположены под MATLAB > Editor/Debugger > MATLAB Language.

Поиск текста в нескольких именах файлов или файлах

Можно найти папки и имена файлов, которые содержат заданный текст или содержимое которых содержит заданный текст. На вкладке Editor или Live Editor, в разделе File, нажмите Find Files, чтобы открыть диалоговое окно Find Files. Чтобы открыть диалоговое окно «Поиск файлов» в MATLAB Online, на вкладке Editor или Live Editor, в разделе Navigate, нажмите Find и выберите Find Files . Для получения дополнительной информации см. Раздел «Поиск файлов и папок».

Функциональная альтернатива для поиска текста

Использовать lookfor поиск указанного текста в первой линии справки для всех файлов с .m расширение в пути поиска файлов.

Перейти к местоположению в файле

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

Переход к определенному местоположению

В этой таблице показано, как перейти в определенное место в файле, открытом в редакторе и Live Editor.

Номер линии

На вкладке Editor или Live Editor, в разделе Navigate, нажмите Go To. Выберите Go to Line. и укажите линию , к которой необходимо перейти.

Определение функции

На вкладке Editor или Live Editor, в разделе Navigate, нажмите Go To. В Function разделе выберите локальную функцию или вложенную функцию, к которой вы хотите перейти.

Можно также выбрать файл в браузере Текущей папки и щелкнуть стреле вверх в нижней части браузера Текущей папки, чтобы открыть панель «Сведения». Затем на панели «Сведения» дважды щелкните значок функции , соответствующий заголовку функции или локальной функции, к которой вы хотите перейти.

Включает локальные функции и вложенные функции.

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

Секция кода

На вкладке Editor или Live Editor, в разделе Navigate, нажмите Go To. В Sections разделе выберите заголовок секции кода, к которому необходимо перейти .

Можно также выбрать файл в браузере Текущей папки и щелкнуть стреле вверх в нижней части браузера Текущей папки, чтобы открыть панель «Сведения». Затем на панели «Сведения» дважды щелкните значок раздела , соответствующий заголовку раздела, к которому необходимо перейти.

Для получения дополнительной информации см. Раздел «Разделение файла на секции кода».

Свойство

В браузере Текущей папки выберите файл, через который необходимо перемещаться, и щелкните стреле вверх в нижней части браузера Текущей папки, чтобы открыть панель «Сведения». Затем на панели «Сведения» дважды щелкните значок свойства , соответствующий имени свойства, к которому необходимо перейти.

Дополнительные сведения см. в разделе Способы использования свойств.

Метод

В браузере Текущей папки выберите файл, через который необходимо перемещаться, и щелкните стреле вверх в нижней части браузера Текущей папки, чтобы открыть панель «Сведения». Затем на панели «Сведения» дважды щелкните значок , соответствующий имени метода, к которому необходимо перейти.

Для получения дополнительной информации см. «Методы в проекте классов».

Закладка

На вкладке Editor, в разделе Navigate, нажмите Go To. В Bookmarks разделе выберите Previous или Next.

Чтобы перейти к закладке в Live Editor и в MATLAB Online , перейдите на вкладку Live Editor или Editor, а в разделе Navigate нажмите Bookmark. Затем выберите Previous или Next.

Для получения информации об установке и очистке закладок см. раздел «Установка закладок».

Примечание

Панель «Сведения» не отображает подробную информацию для live скриптов или live функций и недоступна в MATLAB Online .

Установка закладок

Закладку можно задать в любой линии файла в редактор или Live Editor, чтобы можно было быстро перейти к линии с закладками. Это особенно полезно в длинных файлах. Для примера предположим, что во время работы над линией вы хотите посмотреть другую часть файла, а затем вернуться. Установите закладку в текущей линии, перейдите в другую часть файла, а затем используйте закладку для возврата.

Чтобы задать закладку в редакторе, установите курсор на линии, к которой необходимо добавить закладку. Затем перейдите на вкладку Editor, а в разделе Navigate нажмите Go To. В разделе Bookmarks выберите Set/Clear. Слева от линии появляется значок закладки . Чтобы удалить закладку, с помощью курсора в любом месте на линии с закладкой, нажмите Go To и под Bookmarks, выберите Set/Clear .

Чтобы установить закладку в Live Editor и в MATLAB Online , с помощью курсора на линии, к которой необходимо добавить закладку, перейдите на вкладку Live Editor или Editor, а в разделе Navigate нажмите Bookmark. Чтобы удалить закладку, нажмите кнопку Bookmark и выберите Set/Clear . Вы также можете щелкнуть значок закладки слева от линии.

MATLAB не поддерживает закладки после закрытия файла.

Перемещайтесь назад и вперед в файлах

В редакторе вы можете получить доступ к линиям в файле в той же последовательности, в которой вы ранее перемещались или редактировали их. Чтобы последовательно перемещаться назад и вперед, на вкладке Editor, в разделе Navigate, нажмите кнопки и . Навигация назад и вперед не поддерживается в Live Editor или в MATLAB Online.

Нажатие кнопки и прерывает последовательность назад и вперед. Редактирование линии или переход к другой строке с помощью списка функций, описанных в разделе «Навигация в определенное место», также прерывает последовательность.

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

Например, в редакторе откройте файл, содержащий более 6 линии, и отредактируйте линии 2, 4 и 6. Нажмите кнопку для возврата к строке 4, а затем еще раз для возврата к строке 2. Нажмите кнопку для возврата к строке 4. Отредактируйте линию 3. Это прерывает последовательность. Вы больше не можете использовать кнопку для возврата к 6 строке. Однако для возврата к строке 2 можно нажать кнопку .

Откройте файл или переменную из файла

Можно открыть функцию, файл, переменную или Simulink ® модель из файла в редактор или Live Editor. Поместите курсор на имя, а затем щелкните правой кнопкой мыши и выберите Open выбор из контекстного меню. На основе выделенного фрагмента Редактор или Live Editor выполняет другое действие, как описано в этой таблице.

Переходит к локальной функции в текущем файле, если этот файл является файлом кода MATLAB. Если в текущем файле нет функции под этим именем, редактор или Live Editor запускает open функция на выделенной области, которая открывает выделенную область в соответствующем инструменте.

Откроется в редакторе.

Файл фигуры ( .fig )

Откроется в окне рисунка.

Переменный MATLAB, которая находится в текущей рабочей области

Откроется в редакторе переменных.

Откроется в Simulink.

Если выбран другой тип, Open выбор ищет соответствующий файл в закрытой папке в текущей папке и выполняет соответствующее действие.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *