Пакетна заміна в файлах

Автор: admin · Рубрика Блог починаючого програміста · Пока нет комментариев

Працюючи над одним з сайтів я випадково зіткнувся з проблемою пакетної заміни тексту в багатьох текстових файлах (конкретна проблема виглядала так: є приблизно 2 тис. файлів і  потрібно в кожній сотні файлів замінити певний текст на інший). Без автоматизації це задачка на цілий день. Але чим ми не програмісти? Для рутинної автоматизації процесів беремо мій улюблений ні не «1с:Підприємство 8.1» а Хіасм (hiasm.com) та робимо новий проект.

Нашу задачу по автоматизації можна поділити на кілька логічних етапів:

  1. Шукаємо файли і по черзі відкриваємо кожний з них.
  2. В відкритому файлі знаходимо потрібну стрічку та заміняємо її на  іншу
  3. записуємо файл і закриваємо його
  4. Виводимо звіт по роботі з програмою

Як працювати з хіасмом я описувати детально не буду оскілки це займе багато часу опишу лише ключові моменти.

Зовнішній вигляд нашої програми буде таким:

Вигляд прграми

Вигляд прграми



В верху -  поле вибору папки, як тільки папка вибрана починається пошук та заміна файлів (утиліта для себе так що лишню кнопку програмувати лінь :-) ) .

Два поля внизу відповідно що шукаємо і на що заміняємо і поле внизу це лог роботи програми.

Елементи керування до програми додаємо з наступної панелі

Елементи керування

Елементи керування

а загальний вигляд програми в вихідних кодах ніаму виглядає так

Код програми

Код програми

Скеми для закачування додам в кінці статті.

Опишемо що робить дана схема:

Спочатку ми після натиснення на кнопку де зображено три крапки  запускаємо діалог вибору папки і адресу папки вказуємо в текстове поле. Після ціього запускаємо пошук файлів з маскою *.txt в даній папці. Кожен знайдений файл, точніше його повну адресу і назву передаємо в  мемополе і відкриваємо, запускаємо заміну тексту і зберігаємо змінений текст назад в файл. паралельно виводимо в інше мемо поле звіт про обробку файлу.

Посилання на файли для закачування в кінці статті.



Оставить комментарий или два