|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Помогите написать скрипт удаления не нужных абзацев в тексте. |
|
|
VBS/WSH/JS - [решено] Помогите написать скрипт удаления не нужных абзацев в тексте.
|
Новый участник Сообщения: 12 |
Профиль | Отправить PM | Цитировать Желательно js/
Есть файл fb2. В нем есть лишние абзацы. Нужно при запуске скрипта, опросить начальную строку и конечную строку. И после нажатия "ок", удалить все между этих строк, включая эти строки. Пример есть текст : Скрытый текст
Обговорив с женой через интерфейс скафандров все обнаруженное мы пришли пока к решению не форсировать события и посмотреть что будет дальше. Общаться решили через интерфейс скафандра из за моей паранойи, в моем прошлом мире я слышал байки о том что сильный маг разума может подслушивать телепатическую связь на близком расстоянии, вот и решил перестраховаться. До ужина оставалось еще два часа, а потому мы решили просто полежать и отдохнуть.
Серж Читать Поиск Копилка FAQ Почта Глава 2 Примерно через час к нам зашел один из подчиненных Синтия и предложил переодеться в вещи достойные приема у Синтия, показав нам традиционные одежды для высшей аристократии из моего прошлого мира. Хоть я был признанным специалистом в своей области, но в связи с моим происхождением меня редко приглашали на приемы высшей аристократии. Если быть честным то только один когда помог одному графу с доставшимися в наследство древними артефактами. У нас в империи действовал закон, согласно которому все древние артефакты подлежат сдаче государству, а оно уже потом решает само что вернуть владельцу, а что оставить себе с минимальной компенсацией. Так вот граф попросил разобраться с артефактами и определить что у него там вообще есть, ведь действуя через официального оценщика артефакты почти сто процентов попали бы государству. И в благодарность за помощь граф заплатил мне пятьсот золотых и пригласил на помолвку своей дочери, хотя мне с моим торговым происхождениям там делать было нечего. При запуске скрипта я ввожу начальную строку"Серж", конечную строку "Глава 2". Жму "ок". И на выходе получаю Скрытый текст
Обговорив с женой через интерфейс скафандров все обнаруженное мы пришли пока к решению не форсировать события и посмотреть что будет дальше. Общаться решили через интерфейс скафандра из за моей паранойи, в моем прошлом мире я слышал байки о том что сильный маг разума может подслушивать телепатическую связь на близком расстоянии, вот и решил перестраховаться. До ужина оставалось еще два часа, а потому мы решили просто полежать и отдохнуть.
Примерно через час к нам зашел один из подчиненных Синтия и предложил переодеться в вещи достойные приема у Синтия, показав нам традиционные одежды для высшей аристократии из моего прошлого мира. Хоть я был признанным специалистом в своей области, но в связи с моим происхождением меня редко приглашали на приемы высшей аристократии. Если быть честным то только один когда помог одному графу с доставшимися в наследство древними артефактами. У нас в империи действовал закон, согласно которому все древние артефакты подлежат сдаче государству, а оно уже потом решает само что вернуть владельцу, а что оставить себе с минимальной компенсацией. Так вот граф попросил разобраться с артефактами и определить что у него там вообще есть, ведь действуя через официального оценщика артефакты почти сто процентов попали бы государству. И в благодарность за помощь граф заплатил мне пятьсот золотых и пригласил на помолвку своей дочери, хотя мне с моим торговым происхождениям там делать было нечего. Таких кусков текста может быть несколько. |
|
Отправлено: 07:36, 19-01-2017 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата namin78:
Цитата namin78:
Цитата namin78:
|
|||
Отправлено: 09:11, 19-01-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Вот примерчик.http://forum.oszone.net/attachment.p...1&d=1484808471
|
Отправлено: 09:48, 19-01-2017 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Попробуйте так (WSH/VBScript):
Скрытый текст
Option Explicit Dim strSourceFile Dim strFromString, strToString Dim objDomDocument Dim objXMLDOMElement Dim boolDeletion strSourceFile = "C:\Мои проекты\0037\пример\пример.fb2" strFromString = InputBox("From string") ' "Rinat-106 M" strToString = InputBox("To string") ' "С нами: 3 года 2 месяца" Set objDomDocument = WScript.CreateObject("Microsoft.XMLDOM") objDomDocument.load(strSourceFile) boolDeletion = False For Each objXMLDOMElement In objDomDocument.selectNodes("/FictionBook/body/section/p") If Not boolDeletion Then If StrComp(objXMLDOMElement.text, strFromString, vbTextCompare) = 0 Then objXMLDOMElement.parentNode.removeChild objXMLDOMElement boolDeletion = True End If Else objXMLDOMElement.parentNode.removeChild objXMLDOMElement If StrComp(objXMLDOMElement.text, strToString, vbTextCompare) = 0 Then boolDeletion = False End If End If Next objDomDocument.Save strSourceFile Set objDomDocument = Nothing WScript.Quit 0 |
Отправлено: 17:22, 19-01-2017 | #4 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Все работает. Огромное спасибо. Единственное вопрос по имени файла(пример.fb2), какой код добавить в начале в скрипт, чтобы скрипт работал с файлом, который я перетащил на него?
Разобрался сам. Огромное спасибо еще раз. |
|
Отправлено: 21:10, 19-01-2017 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата namin78:
Скрытый текст
Option Explicit Dim strSourceFile Dim strFromString, strToString Dim objXMLDOMElement Dim boolDeletion If WScript.Arguments.Count = 1 Then strSourceFile = WScript.Arguments.Item(0) If WScript.CreateObject("Scripting.FileSystemObject").FileExists(strSourceFile) Then strFromString = InputBox("From string") ' "Rinat-106 M" strToString = InputBox("To string") ' "С нами: 3 года 2 месяца" With WScript.CreateObject("Microsoft.XMLDOM") .load(strSourceFile) boolDeletion = False For Each objXMLDOMElement In .selectNodes("/FictionBook/body/section/p") If Not boolDeletion Then If StrComp(objXMLDOMElement.text, strFromString, vbTextCompare) = 0 Then objXMLDOMElement.parentNode.removeChild objXMLDOMElement boolDeletion = True End If Else objXMLDOMElement.parentNode.removeChild objXMLDOMElement If StrComp(objXMLDOMElement.text, strToString, vbTextCompare) = 0 Then boolDeletion = False End If End If Next .Save strSourceFile End With Else WScript.Echo "Can't find source file [" & strSourceFile & "]." WScript.Quit 2 End If Else WScript.Echo "Usage: cscript.exe //nologo """ & WScript.ScriptName & """ <Source file>" WScript.Quit 1 End If WScript.Quit 0 |
|
Отправлено: 22:21, 19-01-2017 | #6 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Iska, Вечер добрый, Вы мне недавно помогли(за что спасибо).
Есть еще одна просьба. Тот же fb2 файл, очень многие диалоги, начинаются с маленькой буквы(должны с большой). <p>— и что же? — спросил начальник абордажной команды, здоровенный бугай, с татуировкой на всю лысую голову, с изображением взбешённого осьминога.</p> <p>— что? А вы заметили, сколько в городе на данный момент ушастых? Кстати, все они моряки, причём военные. Нашего капитана и его помощника, окучивают на предмет покупки кораблей, только цены дают… и требуют обучить их магов для пользования движителей, причём без всякой охраной клятвы.</p> <p>— кэп запёрся в своей вотчине и никуда носа не кажет. Поговаривают даже стычка у него была с ребятами Мика. — влез в разговор ещё один из «печальных» пиратов.</p> Заранее спасибо. |
Последний раз редактировалось namin78, 01-02-2017 в 23:37. Отправлено: 17:41, 31-01-2017 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Последний раз редактировалось Iska, 11-02-2017 в 18:14. Отправлено: 17:28, 11-02-2017 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 17:46, 11-02-2017 | #9 |
Ушел из жизни Сообщения: 8595
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Iska:
|
|
------- Отправлено: 18:09, 11-02-2017 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Как переделать скрипт удаления папок, на скрипт удаления файлов | ufooo | Скриптовые языки администрирования Windows | 2 | 02-06-2015 12:22 | |
VBS/WSH/JS - Нужно написать скрипт на VBS для удаления строки. | X0E2003 | Скриптовые языки администрирования Windows | 1 | 18-02-2015 09:11 | |
Любой язык - нужен скрипт для удаления всех файлов кроме нужных для запуска Windows XP | Dark Ange1 | Скриптовые языки администрирования Windows | 11 | 07-03-2010 13:34 | |
[решено] Скрипт для удаления нужных слов в ini файле | Pozia | AutoIt | 23 | 27-10-2009 18:42 | |
Функция PHP для удаления не нужных символов | darksmoke | Вебмастеру | 3 | 01-04-2008 01:18 |
|