Автор Тема: Замена текста в txt по итоговой строке  (Прочитано 637 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Nixon98 [?]

  • Новичок
  • *
  • Сообщений: 23
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.10.2
Добрый день.

Может кто нибудь подскажет возможно ли замена даты по строкам на дату по итоговой строке ?

Пример:
  12/03:2019 пород
  12/03/2029 ропоодоо
  12:03/2019 гарлпоогпо
=<%< 14/03/2019


Нужно заменить все даты на ту что после строк( 14/03/2019) разумеется строк и файлов много, по этому и интересна автоматизация.
Может подскажете в какую сторону думать. Заранее всем спасибо !

Русское сообщество AutoIt

Замена текста в txt по итоговой строке
« Отправлен: Январь 28, 2019, 14:12:36 »

Оффлайн ra4o [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 931
  • Репутация: 172
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Замена текста в txt по итоговой строке
« Ответ #1, Отправлен: Январь 28, 2019, 14:59:48 »
Дайте пример более расширенный (несколько блоков), лучше прикрепите один из файлов.

Оффлайн Nixon98 [?]

  • Новичок
  • *
  • Сообщений: 23

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.10.2
Re: Замена текста в txt по итоговой строке
« Ответ #2, Отправлен: Январь 28, 2019, 15:52:22 »
Дайте пример более расширенный (несколько блоков), лучше прикрепите один из файлов.
Прикрепляю файлы




Внимание: Для просмотра прикреплённых файлов необходимо Войти или Зарегистрироваться

Оффлайн ra4o [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 931
  • Репутация: 172
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Замена текста в txt по итоговой строке
« Ответ #3, Отправлен: Январь 28, 2019, 16:17:47 »
В одном файле все строки будут с одной датой (той, что в последней строке) ?
строка с нужной датой всегда начинается с '=' ?
Попробуйте так :
Код: AutoIt [Выделить]
While 1
    $File = FileOpenDialog('выберите файл для обработки', @ScriptDir & "\", "Текстовый файл (*.txt)", 1 + 2)
    If Not @error Then
        $Text = FileRead($File)
        $Date = StringRegExp($Text, '(?:;)(\d{2}-\d{2}-\d{4})(?:;)', 1)
        $Text = StringRegExpReplace($Text, '(\d{2}-\d{2}-\d{4})', $Date[0])
        $hFile = FileOpen($File, 2)
        FileWrite($hFile, $Text)
        FileClose($hFile)
    Else
        ExitLoop
    EndIf
WEnd

« Последнее редактирование: Январь 28, 2019, 16:48:59 от ra4o »

Русское сообщество AutoIt

Re: Замена текста в txt по итоговой строке
« Ответ #3 Отправлен: Январь 28, 2019, 16:17:47 »

Оффлайн Nixon98 [?]

  • Новичок
  • *
  • Сообщений: 23

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.10.2
Re: Замена текста в txt по итоговой строке
« Ответ #4, Отправлен: Январь 28, 2019, 18:47:56 »
В одном файле все строки будут с одной датой (той, что в последней строке) ?
строка с нужной датой всегда начинается с '=' ?
Попробуйте так :
Код: AutoIt [Выделить]
While 1
    $File = FileOpenDialog('выберите файл для обработки', @ScriptDir & "\", "Текстовый файл (*.txt)", 1 + 2)
    If Not @error Then
        $Text = FileRead($File)
        $Date = StringRegExp($Text, '(?:;)(\d{2}-\d{2}-\d{4})(?:;)', 1)
        $Text = StringRegExpReplace($Text, '(\d{2}-\d{2}-\d{4})', $Date[0])
        $hFile = FileOpen($File, 2)
        FileWrite($hFile, $Text)
        FileClose($hFile)
    Else
        ExitLoop
    EndIf
WEnd


Спасибо огромное! А есть возможность замены сразу всех файлов их по 100 шт за раз? или я что то не так делаю?

Оффлайн ra4o [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 931
  • Репутация: 172
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Замена текста в txt по итоговой строке
« Ответ #5, Отправлен: Январь 30, 2019, 22:37:22 »
Цитировать
сразу всех файлов их по 100 шт за раз?
Эти все файлы в одной папке ? Кроме необходимых для замены файлов другие txt файлы могут быть в папке?
Папки  (названия, путь) могут быть разные ?

Оффлайн Nixon98 [?]

  • Новичок
  • *
  • Сообщений: 23

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.10.2
Re: Замена текста в txt по итоговой строке
« Ответ #6, Отправлен: Февраль 01, 2019, 19:03:04 »
Добрый день.
Нет, в папке только Файлы для замены.
Папки да, всегда разные.

Оффлайн ra4o [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 931
  • Репутация: 172
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Замена текста в txt по итоговой строке
« Ответ #7, Отправлен: Февраль 02, 2019, 15:07:50 »
При запуске скрипта выбирайте папку, в которой призводить работу над файлами:
(нажмите для показа/скрытия)

Русское сообщество AutoIt

Re: Замена текста в txt по итоговой строке
« Ответ #7 Отправлен: Февраль 02, 2019, 15:07:50 »

Оффлайн Nixon98 [?]

  • Новичок
  • *
  • Сообщений: 23

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.10.2
Re: Замена текста в txt по итоговой строке
« Ответ #8, Отправлен: Февраль 03, 2019, 14:41:20 »
Огромное, спасибо.

Оффлайн Nixon98 [?]

  • Новичок
  • *
  • Сообщений: 23

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.10.2
Re: Замена текста в txt по итоговой строке
« Ответ #9, Отправлен: Февраль 25, 2019, 11:59:29 »
При запуске скрипта выбирайте папку, в которой призводить работу над файлами:
(нажмите для показа/скрытия)
автор ещё раз спасибо за помощь, но возник вопрос по скрипту, он меняет кодировку с ANSI на UTF-8, и если есть буквы в текстовике то программа(1с)их не распознает, возможно сохранение файлов после работы скрипты в ansi??

Оффлайн ra4o [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 931
  • Репутация: 172
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Замена текста в txt по итоговой строке
« Ответ #10, Отправлен: Февраль 25, 2019, 21:20:39 »
А так ?
(нажмите для показа/скрытия)

Оффлайн Nixon98 [?]

  • Новичок
  • *
  • Сообщений: 23

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.10.2
Re: Замена текста в txt по итоговой строке
« Ответ #11, Отправлен: Февраль 26, 2019, 20:12:25 »
А так ?
(нажмите для показа/скрытия)
спасибо,работает

Русское сообщество AutoIt

Re: Замена текста в txt по итоговой строке
« Ответ #11 Отправлен: Февраль 26, 2019, 20:12:25 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
6 Ответов
8113 Просмотров
Последний ответ Март 19, 2019, 16:28:05
от Bingo888
1 Ответов
5766 Просмотров
Последний ответ Апрель 24, 2011, 13:03:37
от madmasles
3 Ответов
2603 Просмотров
Последний ответ Январь 28, 2013, 19:17:53
от madmasles
7 Ответов
3493 Просмотров
Последний ответ Февраль 21, 2013, 03:10:13
от AZJIO
20 Ответов
6680 Просмотров
Последний ответ Июнь 15, 2013, 10:51:05
от prokazzza
1 Ответов
1207 Просмотров
Последний ответ Декабрь 18, 2014, 02:32:24
от CreatoR
4 Ответов
2577 Просмотров
Последний ответ Май 02, 2016, 00:54:29
от Scampy
8 Ответов
1460 Просмотров
Последний ответ Август 27, 2016, 09:59:32
от necrobit
1 Ответов
2019 Просмотров
Последний ответ Февраль 01, 2017, 14:22:42
от op_joke
11 Ответов
1452 Просмотров
Последний ответ Июнь 11, 2017, 13:33:56
от Aleksander-2000