![]() |
вырезать часть текста и скопировать его в новый файл
Доброго времени суток.
Существует файл 1.txt. В нем содержится много текста (html код). Необходимо найти определенные части текста и скопировать их в файл 2.txt построчно. Пример части текста Цитата:
Более конкретней: Вот эта часть: <url><loc>https://mysite.com/files/ никогда не меняется. Вот эта часть: promo-category-copy/12345 всегда меняется. Вот эта часть: </loc><lastmod> никогда не меняется. Задача: Найти эту часть: promo-category-copy/12345 скопировать ее и вставить в отдельную строку файла 2.txt. Затем найти следующую такую же часть текста, скопировать ее и вставить в отдельную строку файла 2.txt и так далее. Если с помощью CMD/BAT такая задача в принципе не возможна, то вполне подойдет VBS. Заранее благодарен. Здесь образец: http://forum.oszone.net/attachment.p...4&d=1490531050 Условие: Необходимо найти информацию, которая всегда содержится между этим uploader info=" и этим "> текстом (в данном случае это ссылка), скопировать ее и вставить в файл 2.txt в одной строке и так далее. Спасибо. |
temphard, несколько образцов файлов упакуйте в архив и приложите к сообщению.
|
|
temphard, вложение недоступно.
|
Цитата:
|
Превосходно. Первым делом мы выясняем, что это не txt, не html, а xml :). Теперь давайте таки определимся, так какой же именно тэг Вас интересует (ибо после Вашей правки первого сообщения всё токмо запуталось):
Скрытый текст
![]() и опять же — целиком, или только какая-то его часть. |
Цитата:
Цитата:
Указал одну и вторую часть текста, а то что находится между этими частями, скрипт мог находить и копировать в отдельный файл. Примерно так. |
temphard, с xml работают по совсем другому принципу, а именно: указывая путь и условия отбора внутри иерархии документа.
На WSH: Скрытый текст
Код:
Option Explicit |
Цитата:
Извините , но никогда ранее не пользовался WSH Я создал текстовый документ, вставил в него вышеуказанный скрип (поправил путь к файлу 1.txt), сохранил с расширением WSH и запустил. Выдало окно с надписью: Сценарий не указан Что я делаю не так? |
Так, немного почитал...
Расширение файла со скриптом должно быть *.js. Изменил WSH на JS. Запустил и выдало ошибку: Ошибка: Предполагается наличие ';' Что делать дальше? |
temphard, *.vbs попробуйте. )))
|
Цитата glukin:
vbs попробуйте » Спасибо, попробовал, вроде работает. А если нужная для поиска ссылка обрамлена вот так <url><loc>https://mysite.com/files/promo-category-copy/12345</loc><lastmod>, то какие параметры поиска необходимо указывать? Хочу вникнуть в суть, чтобы в дальнейшем быть независимым в этом вопросе |
Цитата:
WSH — Windows Script Host, сервер сценариев для Windows. По умолчанию поставляется в комплекте с двумя языками — VBScript и JScript, но в принципе может быть расширен и другими языками со стороны. «.wsh» — расширение для файла описания сценария. Цитата:
|
Цитата:
Здесь полный файл xml. В нем много разных ссылок, но нужно найти и скопировать например только такие ссылки: https://3docean.net/item/mini-cooper-rev/17352183, то есть у которых обязательно присутствует вот эта часть: https://3docean.net/item/ |
Скрытый текст
Код:
Option Explicit |
Цитата Iska:
Скрытый текст » Шикарно, спасибо. Воспользовавшись XML Notepad понял, как формируется вот эта строка скрипта Код:
Set objXMLDOMSelection = .selectNodes("/urlset/url/loc") И еще: Можно ли воспользоваться данным скриптом пакетно? Например каким образом указать, чтобы скрипт обработал последовательно все файлы в определенном каталоге и записал нужную информацию в один файл? |
Цитата:
На WSH: Скрытый текст
Код:
Option Explicit Исходный каталог указывается аргументом скрипта (можно также просто перетянуть исходную папку на скрипт в Проводнике). Обработке подлежат только файлы с расширением .xml, все прочие игнорируются. Результат записывается в текущий каталог в файл Result.txt. |
Цитата Iska:
Цитата:
Вы уж извините, но понятие: аргументы в скриптах для меня еще темный лес. Цитата:
В любом случае огромная благодарность. Скрипт главную задачу выполняет, вопрос решен! |
Цитата:
|
Ребят, не силен в программировании, поэтому искал более простой путь и он такой:
Запускаем cmd и пишем Код:
findstr /C:"<loc>" file.xml > url.txt |
vavamedved@vk, если у Вас работает — Вы можете пользовать «простой путь». Ровно до того момента, пока не столкнётесь с xml, не имеющем концов строк вообще. Или просто содержащим в строке с «<loc>» несколько больше информации, нежели требуется. И т.п.
|
Время: 19:45. |
Время: 19:45.
© OSzone.net 2001-