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

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

Ответить
Настройки темы
VBS/WSH/JS - [решено] Stop цикл при обнаружении нужного значения из файла

Пользователь


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

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


Доброе время суток.


Set fso = CreateObject("Scripting.FileSystemObject")
Set txtStream = fso.OpenTextFile("C:\List.txt") ' Этот файл существует, то есть проверка наличия файла пропускается

Do While Not (txtStream.atEndOfStream)

Text=Text & txtStream.ReadLine & vbCrLf

Loop

Этот код прочитывает строки из файла.
В файле ("C:\List.txt") записаны следующие данные в пять строчек: one, two, three, four, five.

Мне нужно, чтобы при обнаружении значения "three" цикл остановился и присвоил бы найденное значение какой-нибудь строковой переменной, чтобы потом я вывел бы это значение оператором WScript.Echo. Подумал может структура if then поможет, но у меня ничего не вышло. Жду ваших поддержок.


Заранее спасибо.

Отправлено: 12:23, 26-01-2009

 


Moderator


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

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


Цитата Afon:
Мне нужно, чтобы при обнаружении значения "three" цикл остановился и присвоил бы найденное значение какой-нибудь строковой переменной
Присвоил бы найденное значение "three" какой-нибудь строковой переменной?
Поясните.

Отправлено: 12:43, 26-01-2009 | #2



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

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


Пользователь


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

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


Цитата Petya V4sechkin:
Присвоил бы найденное значение "three" какой-нибудь строковой переменной?
Поясните. »

Цикл получает условие проверки (в данном случае не достигнут ли конец файла).
Далее в теле цикла выполняется оператор, который прочитывает строки файла (содержимое файла включает в себя пять строчек со следующими записями: 1-ая строка - one, 2-ая строка - two, третяя строка -three, четвертая строка - four, пятая строка - five.
Прочитал первую строку, обнаружил запись one, перешел ко второй строке, обнаружил запись two, перешел к третьей строке, обнаружил запись three (опа, то что нам надо). Именно в этом момент надо прекратить выполнение цикла (если явно не завершить выполнение цикла то оно будет продолжаться пока не дойдет конца строки, условие проверки в заголовке цикла говорит об этом.) и присвоить строку "three" строковой переменной.

Надеюсь смог изложить то, что мне нужно. Если что спросите пожалуйста, может я не так излагаюсь.
Одним словом мне нужно проходить по записям файла и найдя нужную мне запись остановится и присвоить это значение строковой переменной.


Заранее спасибо.

Отправлено: 14:11, 26-01-2009 | #3



Moderator


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

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


Код: Выделить весь код
Set fso = CreateObject("Scripting.FileSystemObject")
Set txtStream = fso.OpenTextFile("C:\List.txt") ' Этот файл существует, то есть проверка наличия файла пропускается

V = ""
Do While Not txtStream.atEndOfStream And V <> "three"
  V = txtStream.ReadLine
  Text = Text & V & vbCrLf
Loop
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:51, 26-01-2009 | #4


Пользователь


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

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


Цитата Petya V4sechkin:
Set fso = CreateObject("Scripting.FileSystemObject")
Set txtStream = fso.OpenTextFile("C:\List.txt") ' Этот файл существует, то есть проверка наличия файла пропускается
V = ""
Do While Not txtStream.atEndOfStream And V <> "three"
V = txtStream.ReadLine
Text = Text & V & vbCrLf
Loop »


Спасибо большое. Это именно то, что я хотел.
Спасибо всем.

Отправлено: 15:16, 26-01-2009 | #5



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Как найти и прописать в реестре запуск нужного файла? Pozia AutoIt 12 12-03-2009 23:38
[решено] Как написать скрипт о проверке нужного файла на съемном носителе? Pozia AutoIt 12 05-03-2009 20:20
C/C++ - [решено] Непонятка при присвоении значения переменной, имеющей тип: перечисление. Oleg_SK Программирование и базы данных 5 04-12-2008 07:22
2008 - [решено] Stop ошибка при установке Server 2008 Rostlv Windows Server 2008/2008 R2 3 14-05-2008 19:57
CMD/BAT - [решено]*.cmd: цикл перебирает значения и каждое значение проверяется skeletor Скриптовые языки администрирования Windows 1 15-03-2007 16:11




 
Переход