Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] вырезать часть текста и скопировать его в новый файл

Ответить
Настройки темы
CMD/BAT - [решено] вырезать часть текста и скопировать его в новый файл

Новый участник


Сообщения: 44
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: temphard
Дата: 26-03-2017
Доброго времени суток.
Существует файл 1.txt. В нем содержится много текста (html код).
Необходимо найти определенные части текста и скопировать их в файл 2.txt построчно.
Пример части текста
Цитата:
<url><loc>https://mysite.com/files/promo-category-copy/12345</loc><lastmod>
Перед этим текстом и после него находится еще очень много другого текста.

Более конкретней:
Вот эта часть: <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 в одной строке и так далее.
Спасибо.

Отправлено: 00:30, 26-03-2017

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


temphard, несколько образцов файлов упакуйте в архив и приложите к сообщению.

Отправлено: 03:49, 26-03-2017 | #2



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

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


Новый участник


Сообщения: 44
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
приложите к сообщению »
Добавил образец к первому сообщению.

Отправлено: 12:57, 26-03-2017 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


temphard, вложение недоступно.

Отправлено: 14:55, 26-03-2017 | #4


Новый участник


Сообщения: 44
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
вложение недоступно »
Старнно. Обновил. Должно быть доступно.

Последний раз редактировалось temphard, 26-03-2017 в 23:34.


Отправлено: 15:25, 26-03-2017 | #5


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Превосходно. Первым делом мы выясняем, что это не txt, не html, а xml . Теперь давайте таки определимся, так какой же именно тэг Вас интересует (ибо после Вашей правки первого сообщения всё токмо запуталось):
Скрытый текст

и опять же — целиком, или только какая-то его часть.

Отправлено: 16:32, 26-03-2017 | #6


Новый участник


Сообщения: 44
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
целиком, или только какая-то его часть »
В этом случае целиком, именно то, что находится между заданными параметрами
Цитата:
между этим uploader info=" и этим "> текстом
Суть в том, чтобы в скрипте можно было задавать (менять) параметры поиска текста.
Указал одну и вторую часть текста, а то что находится между этими частями, скрипт мог находить и копировать в отдельный файл. Примерно так.

Отправлено: 20:53, 26-03-2017 | #7


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


temphard, с xml работают по совсем другому принципу, а именно: указывая путь и условия отбора внутри иерархии документа.

На WSH:
Скрытый текст
Код: Выделить весь код
Option Explicit

Dim strSourceFile
Dim strDestFile

Dim objFSO

Dim objXMLDOMSelection
Dim objXMLDOMElement


strSourceFile = "C:\Мои проекты\0054\01.txt"
strDestFile   = "C:\Мои проекты\0054\Result.txt"

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

If objFSO.FileExists(strSourceFile) Then
	With WScript.CreateObject("Microsoft.XMLDOM")
		.load strSourceFile
		
		Set objXMLDOMSelection = .selectNodes("/urlset/url/video:video/video:uploader")
		
		If Not objXMLDOMSelection Is Nothing Then
			With objFSO.CreateTextFile(strDestFile, True)
				For Each objXMLDOMElement In objXMLDOMSelection
					.WriteLine objXMLDOMElement.Attributes.getNamedItem("info").text
				Next
				
				.Close
			End With
		End If
		
		Set objXMLDOMSelection = Nothing
	End With
Else
	WScript.Echo "Can't find source file [" & strSourceFile & "]."
	WScript.Quit 1
End If

Set objFSO = Nothing

WScript.Quit 0

Отправлено: 22:16, 26-03-2017 | #8


Новый участник


Сообщения: 44
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
На WSH »
Этот код надо поместить в блокнот? А с каким расширением сохранить файл?
Извините , но никогда ранее не пользовался WSH

Я создал текстовый документ, вставил в него вышеуказанный скрип (поправил путь к файлу 1.txt), сохранил с расширением WSH и запустил.
Выдало окно с надписью: Сценарий не указан
Что я делаю не так?

Отправлено: 22:20, 26-03-2017 | #9


Новый участник


Сообщения: 44
Благодарности: 0

Профиль | Отправить PM | Цитировать


Так, немного почитал...
Расширение файла со скриптом должно быть *.js. Изменил WSH на JS.
Запустил и выдало ошибку:
Ошибка: Предполагается наличие ';'
Что делать дальше?

Отправлено: 22:45, 26-03-2017 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] вырезать часть текста и скопировать его в новый файл

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Скопировать в папку, зная только часть ее Имени magarjoba Скриптовые языки администрирования Windows 9 15-02-2017 11:12
Любой язык - Скопировать часть блоков из одного текстового файла в другой Alexander_88 Скриптовые языки администрирования Windows 4 19-02-2016 14:59
Прочие БД - Нечитается часть текста в Oracle11g slenok Программирование и базы данных 1 02-05-2010 23:16
[решено] Как скопировать фрагмент текста из файла PDF Antonij Хочу все знать 12 04-02-2009 06:49
windows2003 вырезать часть лога Angel_Keeper Microsoft Windows NT/2000/2003 2 05-12-2007 13:42




 
Переход