Форум программистов, компьютерный форум, киберфорум
VBScript/JScript/WSH/WMI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
14 / 0 / 0
Регистрация: 04.01.2019
Сообщений: 23

Найти строку и вывести ее

15.11.2021, 17:25. Показов 9596. Ответов 44

Студворк — интернет-сервис помощи студентам
Здравствуйте! Возникла задача: необходимо создать vbs, который бы считывал файл, находил там строку (например "Hello world") и выводил ее(строку) полностью.

То есть, если у нас есть текстовый файл с содержанием:
Привет, мир! Как дела?
Hello world! How are you?
То после запуска скрипта должно выдать
Hello world! How are you?
Помогите, пожалуйста, если кто сможет
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.11.2021, 17:25
Ответы с готовыми решениями:

Вводят строку. Найти в ней все слова с буквой "Z" и переместить их в другую строку. Вывести новую строку
Недавно начал изучать этот язык. Было все не плохо, но тут учитель решил поставить меня в тупит такой задачей... Вводят строку. Найти в...

Найти самую короткую строку, вывести эту строку и ее длину
Всем привет! помогите пожалуйста решить несколько задач 1 . Ввести n строк с консоли , найти самую короткую строку. Вывести эту строку...

Найти строку и вывести следующую строку в массив
Нужно найти определенное слово в файле и в след строке вывести в массив числа под ним Например: яблоко 12 равылф 324 123 12 34 73...

44
14 / 0 / 0
Регистрация: 04.01.2019
Сообщений: 23
18.11.2021, 08:38  [ТС]
Студворк — интернет-сервис помощи студентам
Доброго дня Вам, FlasherX!
Попробовал. Теперь выдает:
"Требуется объект: WSH".
0
7690 / 2887 / 1110
Регистрация: 06.06.2017
Сообщений: 9,816
18.11.2021, 13:13
Значит, интерпретатор BGInfo не поддерживает этот объект. Тогда придётся писать, как я в начале и предложил, полное имя.
При выводе рабочей папки он показывает C:\7zSFX, хотя такой папки после вывода уже не существует. Т. е. программно зацепить путь расположения скрипта или папки BGInfo не представляется возможным (пробовал 3 свойства от разных объектов). Прога при сохранении шаблона говорит, что не видит там файла, а при попытке вывести там пусто.
1
14 / 0 / 0
Регистрация: 04.01.2019
Сообщений: 23
18.11.2021, 19:31  [ТС]
FlasherX, короче, я полагаю, что проще написать свою утилиту DD если у Вас не получается ничего, то вероятно, у меня так же не получится, т.к я в vbs абсолютный ноль
В любом случае, спасибо Вам огромное еще и еще раз, что потратили свое время на изучение моей проблемы. Успехов вам в вашей деятельности и побольше здоровья в столь трудные времена!
0
7690 / 2887 / 1110
Регистрация: 06.06.2017
Сообщений: 9,816
18.11.2021, 19:52
SogoHimo, вместо BGInfo? Ну, можно Руссиновича напрячь с возвратом своей папки или поддержкой WSH. А чем вам полное имя не подходит? Всё равно BGInfo в реестр пишется.
И проблема тут не ваша, а именно программы, в которой сие важное обстоятельство не предусмотрено. Спасибо на добром слове.
0
14 / 0 / 0
Регистрация: 04.01.2019
Сообщений: 23
19.11.2021, 12:02  [ТС]
FlasherX, Да-да-да! Теперь все работает!

With New RegExp
.Pattern = "\nID=(\d+)"
Echo .Execute(CreateObject("Scripting.FileSys temObject").OpenTextFile("C:\Users\admin istrator\Desktop\this.conf").ReadAll)(0) .Submatches(0)
End With
Спасибо еще и еще, и еще раз! Вы мне очень сильно помогли! Спасибо!

Добавлено через 7 минут
А переменные среды, я полагаю, скрипт не понимает, да?
0
малоболт
1328 / 510 / 213
Регистрация: 30.01.2020
Сообщений: 1,244
19.11.2021, 12:14
Цитата Сообщение от SogoHimo Посмотреть сообщение
А переменные среды, я полагаю, скрипт не понимает, да?
Прекрасно понимает: WshShell.Environment
0
7690 / 2887 / 1110
Регистрация: 06.06.2017
Сообщений: 9,816
19.11.2021, 13:03
SogoHimo, на доброе. Если есть желание пихать конфиг прямо на Раб. стол, то тут не переменные среды нужны:
Visual Basic
1
2
3
4
With New RegExp
   .Pattern = "\nID=(\d+)": Echo .Execute(CreateObject("Scripting.FileSystemObject").OpenTextFile(_
   CreateObject("Shell.Application").Namespace(0).ParseName("this.conf").Path).ReadAll)(0).Submatches(0)
End With
0
14 / 0 / 0
Регистрация: 04.01.2019
Сообщений: 23
19.11.2021, 13:50  [ТС]
FlasherX, Нет-нет-нет, это я тестировал. Файл находится в appdata. Я думал, что получится сделать так:
With New RegExp
.Pattern = "\nID=(\d+)"
Echo .Execute(CreateObject("Scripting.FileSys temObject").OpenTextFile("%APPDATA%\Roam ing\AnyDesk\sys.conf").ReadAll)(0).Subma tches(0)
End With
Но реальность оказалось жестче, чем я думал
0
7690 / 2887 / 1110
Регистрация: 06.06.2017
Сообщений: 9,816
19.11.2021, 14:14
Вообще-то Roaming — это часть AppData.
Visual Basic
1
2
3
4
With New RegExp
   .Pattern = "\nID=(\d+)": Echo .Execute(CreateObject("Scripting.FileSystemObject").OpenTextFile(_
   CreateObject("WScript.Shell").SpecialFolders(5) & "\AnyDesk\sys.conf").ReadAll)(0).Submatches(0)
End With
0
14 / 0 / 0
Регистрация: 04.01.2019
Сообщений: 23
19.11.2021, 14:32  [ТС]
FlasherX, теперь "недопустимый вызов или аргумент процедуры" строка: 2, позиция 28
0
7690 / 2887 / 1110
Регистрация: 06.06.2017
Сообщений: 9,816
19.11.2021, 17:44
SogoHimo, создал файл %AppData%\AnyDesk\sys.conf, BGInfo вывела на Раб.Ст. то, что надо.
0
14 / 0 / 0
Регистрация: 04.01.2019
Сообщений: 23
19.11.2021, 18:17  [ТС]
FlasherX, Это какая-то магия...

Я сделал такие же манипуляции, и никаких результатов.
Миниатюры
Найти строку и вывести ее  
0
7690 / 2887 / 1110
Регистрация: 06.06.2017
Сообщений: 9,816
19.11.2021, 18:40
Предполагается, что ID находится не на первой строчке, а там есть хотя бы секция.
Если может быть на первой, то внесём лёгкую правку:
Visual Basic
1
2
3
4
With New RegExp
   .Pattern = "(^|\n)ID=(\d+)": WSH.Echo .Execute(CreateObject("Scripting.FileSystemObject").OpenTextFile(_
   CreateObject("WScript.Shell").SpecialFolders(5) & "\AnyDesk\sys.conf").ReadAll)(0).Submatches(1)
End With
И ошибка со скрина это уже явно не та, что приведена выше.

Заглянул в старый портабельный AnyDesk. Там system.conf, а ключ называет ad.anynet.id. У вас не так?
0
14 / 0 / 0
Регистрация: 04.01.2019
Сообщений: 23
19.11.2021, 19:21  [ТС]
Дадада все так

Добавлено через 4 минуты
FlasherX, сейчас отправлю полную картину
0
14 / 0 / 0
Регистрация: 04.01.2019
Сообщений: 23
19.11.2021, 19:27  [ТС]
Вся картина:
Миниатюры
Найти строку и вывести ее  
0
7690 / 2887 / 1110
Регистрация: 06.06.2017
Сообщений: 9,816
19.11.2021, 19:35
Лучший ответ Сообщение было отмечено SogoHimo как решение

Решение

Тогда чего вы мне голову с левыми вводными морочите...
Visual Basic
1
2
3
4
With New RegExp
   .Pattern = "(^|\n)ad\.anynet\.id=(\d+)": Echo .Execute(CreateObject("Scripting.FileSystemObject")._
   OpenTextFile(CreateObject("WScript.Shell").SpecialFolders(5) & "\AnyDesk\system.conf").ReadAll)(0).Submatches(1)
End With
1
14 / 0 / 0
Регистрация: 04.01.2019
Сообщений: 23
19.11.2021, 20:27  [ТС]
Вы уж извините, но посмотрите, пожалуйста на первый скриншот. У меня не был установлен на домашнем ПК Anydesk, потому я скидывал все по примерным данным, которые помнил. Извините, пожалуйста, если вам доставило это неудобство.

Относительно:
Visual Basic
1
2
3
4
With New RegExp
   .Pattern = "(^|\n)ad\.anynet\.id=(\d+)": Echo .Execute(CreateObject("Scripting.FileSystemObject")._
   OpenTextFile(CreateObject("WScript.Shell").SpecialFolders(5) & "\AnyDesk\system.conf").ReadAll)(0).Submatches(1)
End With
Миниатюры
Найти строку и вывести ее  
0
7690 / 2887 / 1110
Регистрация: 06.06.2017
Сообщений: 9,816
19.11.2021, 21:08
Сохраните скрипт в ANSI или уберите BOM.
1
14 / 0 / 0
Регистрация: 04.01.2019
Сообщений: 23
20.11.2021, 12:42  [ТС]
FlasherX, Все заработало! Я не знаю кто Вы, но вы очень умный человек! Спасибо еще раз Вам за то, что помогли!
Вы уж простите, что так долго пришлось возиться, просто с VB и VBS я не знаком совершенно. Сейчас же, я думаю, будет стимул изучить хотя бы азы (т.к, я полагаю, это они и были). Вам еще раз по-больше здоровья и благополучия в вашей деятельности, которой вы занимаетесь! Я думаю, что вы многого добьетесь, если уже не добились. Всего вам доброго!!!
0
0 / 0 / 0
Регистрация: 30.06.2022
Сообщений: 11
30.01.2025, 13:31
К сожалению, скрипт уже не работает...
При выполнении скрипта пишет "файл не найден" на 2 строке 45 символ.
Хотя пути Анидеска с того времени не поменялись. Странно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.01.2025, 13:31

Если C изображает цифру, то вывести строку «digit», если латинскую букву — вывести строку «lat», если русскую — вывести строку «rus»
Доброй ночи всем программерам, примитивная задачка, но в стрингах я не шарю, помогите плиз... String6. Дан символ C, изображающий цифру...

Найти все файлы, в которых есть указанное слово(передается через командную строку).Вывести сведения о нем и строку
Нужно вывести имя файла, размер, права доступа, имя владельца, и строку с указанным словом. Пробовала по методичке, так как в интернете...

Ввести n строк с консоли, найти самую короткую строку. Вывести эту строку, её длину и количество гласных букв в ней
1.Ввести n строк с консоли, найти самую короткую строку. Вывести эту строку, её длину и количество гласных букв в ней. Помогите плиз

Задан промежуток целых чисел [3;12]. Вывести на экран числа некратные 3 в строку. Найти и вывести их количество
Задан промежуток целых чисел . Вывести на экран числа не кратные 3 в строку. Найти и вывести их количество

Найти строку с наибольшей суммой элементов. Вывести на печать найденную строку и сумму ее элементов
Имя матрицы и размеры: T(N,M)........ условия ограничения N<=15, M<=15


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru