![]() |
Скопировать определенные строки в кодировке "UTF-8" из .txt - файлов
Есть папка "111" в ней много разных подпапок с разными уровнями. В подпапках текстовые файлы в количестве примерно 14500 штук с расширением .txt большая часть текстовых файлов сохранены в кодировке юникода "UTF-8", также НЕКОТОРЫЕ из них сохранены в кодировке ANSI. Внутри этих текстовых файлов имеются строки в количестве примерно от 5 до 500 СТРОК в каждом текстовом файле.
В каждой строке МОГУТ содержаться пробелы в начале, в конце, в середине, даже пробелы есть после и перед разделителями (":" "=" "-") и пустые строки между строками. Вот пример того, какой текст содержится в одном текстовом файле внутри: (текст с непонятными иероглифами - это тайский язык, взят для примера) РуЧкА!$# БоЧкА:© นี่คือวันอันยิ่งใหญ่ ♥ SёЁщы©♥I♥©Спасибо♥ ¤ © 办公室 λ ½ ▅ & $ 4 Рё En ц™ มิ БоЧкА : © นี่คือวันอันยิ่งใหญ่ ♥ SёЁщы©♥I♥©Спасибо♥ ¤ © 办公室 λ ½ ▅ & $ 4 Рё En ц™ มิ https://taxi.yandex.ru/ БоЧкА =Ґ ©Спасибо♥ ¤ © 办公室 λ ½ ▅ & $ 4 Рё En ц™ มิ © นี่คือวันอันยิ่งใหญ่ ♥ SёЁщы©♥Iв™ диск www.avito.ru/sankt-peterburg/ БоЧкА - !@#$%^&*() !@#$%^&*() !@#$%^&*()!@# $%^&*()!@# $%^&*()!@#$%^&*() http://www.avito.ru/ БоЧкА Д!@#$%^&*() !@#$%^&*() !@#$%^&*()!@# $%^&*()!@# $%^&*()!@#$%^&*() БоЧкАФ!@#$%^&*() !@#$%^&*() !@#$%^&*()!@# $%^&*()!@# $%^&*()!@#$%^&*() serVeR !!!"""№№№;;;%% %:::???***((()))!!!"""№№№;;;%%%:::???* **((())) serVeR:© นี่คือวันอันยิ่งใหญ่ ♥ SёЁщы©♥I♥©Спасибо♥ ¤ © 办公室 λ ½ ▅ & $ 4 Рё En ц™ มิ serVeR : © นี่คือวันอันยิ่งใหญ่ ♥ SёЁщы©♥I♥©Спасибо♥ ¤ © 办公室 λ ½ ▅ & $ 4 Рё En ц™ มิ serVeR =Ґ ©Спасибо♥ ¤ © 办公室 λ ½ ▅ & $ 4 Рё En ц™ มิ © นี่คือวันอันยิ่งใหญ่ ♥ SёЁщы©♥Iв™ Адреса сайтов... https://www.avito.ru/irkutsk/ serVeR - !@#$%^&*() !@#$%^&*() !@#$%^&*()!@# $%^&*()!@# $%^&*()!@#$%^&*() диск serVeR Д!@#$%^&*() !@#$%^&*() !@#$%^&*()!@# $%^&*()!@# $%^&*()!@#$%^&*() serVeR!@#$%^&*() !@#$%^&*() !@#$%^&*()!@# $%^&*()!@# $%^&*()!@#$%^&*() Нужно чтобы после запуска VBS скрипта с помощью использования "ADO" Создался ОДИН текстовый файл с расширением .txt в него скопировать строки идущие после разделителя и без разделителя, указанных слов..в нашем примере это:"БоЧкА" "serVeR". А те части строчки которые идут после разделителей ":" где адреса сайтов будут игнорироваться, адреса сайтов мне не нужны! В основу кода можно взять то что они начинаются со строк "https" "http" "www"! Слова "БоЧкА" "serVeR" взяты чисто для примера, но по возможности нужно сделать так, чтобы их можно было в скрипте vbs поменять на свои, они могут быть написаны русскими словами или английскими ("указынные слова" не используют спецсимволы юникода). Убрать все пробелы которые которые идут между разделителем (":" "=" "-") и началом части строки (которая в юникоде записана), удалить пустые строки. Заранее извиняюсь, если я не все объяснил, просто я новичок, прошу сильно не пинать. Я только начинаю изучать создание скриптов VBS. Рассматривать буду разные методы решения одной и той же задачи НА VBS - это для моего познания так сказать :) Вот что должно получиться после запуска VBS скрипта с помощью использования "ADO" © นี่คือวันอันยิ่งใหญ่ ♥ SёЁщы©♥I♥©Спасибо♥ ¤ © 办公室 λ ½ ▅ & $ 4 Рё En ц™ มิ © นี่คือวันอันยิ่งใหญ่ ♥ SёЁщы©♥I♥©Спасибо♥ ¤ © 办公室 λ ½ ▅ & $ 4 Рё En ц™ มิ Ґ ©Спасибо♥ ¤ © 办公室 λ ½ ▅ & $ 4 Рё En ц™ มิ © นี่คือวันอันยิ่งใหญ่ ♥ SёЁщы©♥Iв™ !@#$%^&*() !@#$%^&*() !@#$%^&*()!@# $%^&*()!@# $%^&*()!@#$%^&*() Д!@#$%^&*() !@#$%^&*() !@#$%^&*()!@# $%^&*()!@# $%^&*()!@#$%^&*() Ф!@#$%^&*() !@#$%^&*() !@#$%^&*()!@# $%^&*()!@# $%^&*()!@#$%^&*() !!!"""№№№;;;%% %:::???***((()))!!!"""№№№;;;%%%:::???* **((())) © นี่คือวันอันยิ่งใหญ่ ♥ SёЁщы©♥I♥©Спасибо♥ ¤ © 办公室 λ ½ ▅ & $ 4 Рё En ц™ มิ © นี่คือวันอันยิ่งใหญ่ ♥ SёЁщы©♥I♥©Спасибо♥ ¤ © 办公室 λ ½ ▅ & $ 4 Рё En ц™ มิ Ґ ©Спасибо♥ ¤ © 办公室 λ ½ ▅ & $ 4 Рё En ц™ มิ © นี่คือวันอันยิ่งใหญ่ ♥ SёЁщы©♥Iв™ !@#$%^&*() !@#$%^&*() !@#$%^&*()!@# $%^&*()!@# $%^&*()!@#$%^&*() Д!@#$%^&*() !@#$%^&*() !@#$%^&*()!@# $%^&*()!@# $%^&*()!@#$%^&*() !@#$%^&*() !@#$%^&*() !@#$%^&*()!@# $%^&*()!@# $%^&*()!@#$%^&*() |
Код:
param( |
Вложений: 1
Цитата:
|
Fors1k, во время запуска появляется окно с ошибкой, строка 1 символ 7
|
Этот код вам нужно выполнить в PowerShell.
|
Вложений: 1
Да, догадался что в PowerShell нужно выполнить :) ...но тем не менее все равно и в PowerShell ошибки красные показывает...я видимо что то не так делаю. Сохранял в буфер обмена код и вставлял, потом пробовал просто файл с кодом сохранить в расширении .ps1 и нажимал выполнить в PowerShell, красные ошибки повторяются в разных вариантах, хотя пути пробовал ставить как в коде. Скриншот ошибки в PowerShell во вложении
|
Нужно разрешить выполнение скриптов.
Запустите powershell от администратора, и выполните Код:
Set-ExecutionPolicy Unrestricted -Force |
Спасибо Fors1k! :) Код Работает отлично! Данные из текстового файла сохраняет нужные! Но это только при условии, если все текстовые файлы расположены по пути C:\Files\111\eee.txt Можно ли сделать так чтобы проверялись в "указанной папке" и все ее "ПОДПАПКИ" (текстовые файлы) + как то сделать так чтобы в "текстовом файле результата" не повторялись строчки т.е. чтобы не были строчки одинаковыми. Дело в том, что среди многочисленных текстовых файлах может встретиться одинаковая строчка, хотя имя текстового файла может быть разным.
|
Код:
param( |
Теперь код выполняет все что нужно! Код - супер! :) Большая благодарность Fors1k за предоставленный код! Задача можно сказать уже решена. Мне будет еще интересно узнать, какими еще вариантами можно выполнить эту же задачу? Это для моего познания. :) В PowerShell все хорошо работает, а например на vbs или даже в bat вот такое возможно ли реализовать?
|
Возможно, но гораздо геморройнее.
|
Цитата:
|
Время: 00:01. |
Время: 00:01.
© OSzone.net 2001-