Windows script do while

Windows script do while

Приветствую всех читателей своего блога. Сегодня мы будем изучать циклы While … Wend и Do … Loop. При создании сценария VBScript они вам обязательно понадобятся. Эти два цикла позволяют выполнять одно и то же выражение множество раз, пока условие истина (True) или ложь (False).

В этом уроке мы пройдём:

  • Цикл Do … Loop
  • Применение оператора Exit Do
  • Цикл While … Wend

Цикл Do … Loop

Цикл Do … Loop позволяет использовать себя с проверкой условий в начале и в конце цикла. Что бы проверять условие используются два ключевых слова: While и Until.

  • While — цикл vbs будет выполняться до тех пор пока условие истина (True)
  • Until — цикл выполняется до тех пор пока условие ложь (False). Как только условие станет истиной (True), произойдёт выход из цикла.

Давайте посмотрим на пример использования цикла Do … Loop с проверкой условия в начале и в конце:

В данном примере мы множество раз используем переменную «i». В каждом цикле, перед его завершением, к значению переменной прибавляется единица. После каждого примера мы опять обнуляем значение этой переменной, но можем этого не делать.

Первые два примера выполняют цикл пока i меньше 3. Как только i получает значение «3», происходит выход из цикла.

В двух последних примерах цикл выполняется пока i не станет больше 3.

Так же в циклах Do … Loop есть возможность экстренного выхода из него. Для этого используется оператор Exit Do. Он применяется при наличии условных операторов if … else и select … case.

Цикл While … Wend

Цикл While … Wend — это упрощённая версия предыдущего цикла языка VBScript. Пока условие истина (True) — цикл выполняется. Помимо этого в данном цикле есть возможность использовать логический оператор Not как и в условных операторах if … else.

Этот пример думаю разжёвывать не надо. До новых встреч!

Урок 6 по VBScript: Циклы for…next и for each…next

В этой статье мы с вами рассмотрим vbscript циклы языка. VBScript использует циклы нескольких видов, которые, не являются уникальными и используются и другими языками программирования. Для справки, использование циклов нужно в том случае, когда нужно произвести определенное количество вычислений или просто, произвести перебор элементов, например, вывести список свойств определенного объекта. И так, в этой статье мы рассмотрим следующие циклы vbscript: for…next и for each…next, а также рассмотрим оператор exit for.

Хорошо, давайте рассмотри все типы vbscript циклов по порядку:

For…Next — Данный цикл vbscript требует задания начального и конечного значения (количество итераций), по умолчанию счётчик значений увеличивается на единицу, но это можно изменить с помощью дополнительного ключевого слова step (шаг). Общий синтаксис vbs цикла For…Next таков:

For счётчик=начало То конец [Step шаг]
тело цикла
[Exit For]
тело цикла
Next

Видим, что после ключевого слова For мы задаем начальное числовое значение, которое присваиваем переменной, после To прописывается конечное значение, за необязательным step следует шаг счётчика. VBScript циклы. Видно, что тело цикла vbscript в конце закрывается словом Next. В теле цикла прописываются нужные нам операторы (например, условный оператор if) и выражения, exit for отвечает за безусловный выход из цикла vbs. Хорошо, давайте рассмотрим два таких примера:

Читайте также:  Dx9 для windows 10 64 bit

VBScript циклы. Тут всё просто, мы просто задали диапазон от 1 до 100 и всё просуммировали, теперь рассмотрим второй пример:

В данном примере, мы использовали два vbscript цикла for, в обоих мы находим сумму, в середине прописано условие: если сумма будет больше-ровно 1000, то – выйти из вычисления . В первом цикле vbs мы использовали обратное суммирование – от 100 до 1, шаг уменьшается на 2, во втором – прямое вычисление, шаг увеличивается на два.

for each…next — Данная конструкция применяется для перебора элементов коллекции или массива. Коллекция, в языке программирования – практически тот же массив, но, количество элементов в нём не известно. В for each…next также можно использовать оператор exit for.

Следующий пример демонстрирует вывод элементов массива:

Хорошо, теперь давайте рассмотрим пример, который выводит список каталогов диска D:\:

Как видим, цикл vbscript for… each позволяет перебирать как элементы массива, так и элементы коллекции.

Спасибо за внимание. Автор блога Владимир Баталий

Урок 7 по VBScript: Циклы do…loop и while…wend

В этой статье мы изучим следующие циклы vbs сценариев, а именно: do…loop и while…wend, также рассмотрим применение оператора exit…do.

Данный вид vbs циклов языка vbscript имеет немного другую логику чем, например цикл for, тут мы задаем не диапазон количества итераций, а условие. Например, нам нужно найти сумму чисел, причем количество значений неизвестно, зато, есть условие – сумма всех элементов не должна быть больше 1000. Проверка условия может проверяться как в начале, так и в конце заданного цикла vbs.

Хорошо, давайте проанализируем все vbs циклы по порядку.

Do…Loop — Данный цикл vbs можно использовать в двух вариантах: проверка до начала выполнения итерации (предусловие) и проверка после начала выполнения итерации (пост-условие). Если проверка выполняется в конце, то, как минимум один раз будет выполнена итерация. Давайте рассмотрим общий синтаксис:

Do [While | Until] условие
тело цикла
[Exit Do]
тело цикла
Loop

Do
тело цикла
[Exit Do]
тело цикла
Loop [While | Until] условие

В первом случае после ключевого слова Do идет проверка условия, как в условном операторе if, если используется ключевое слово while, то работа vbs цикла будет выполняться до тех пор, пока условие истинно (равно true), если используется слово until – то наоборот, как только условие станет истинным (равно true), произойдёт выход из цикла. Оператор Exit Do позволяет выйти из vbs цикла.

Второй вариант синтаксиса аналогичен первому лишь с той разницей, что проверка условия осуществляется в конце.

Хорошо, теперь давайте рассмотрим следующие 4 примера:

Первый пример

Второй пример

Третий пример

Четвёртый пример

Все четыре примера сценария vbscript заполняют массив MyArr числами от 0 до 9 используя vbs циклы Do…Loop в том или ином варианте.

while…wend — Конструкция while…wend является одной из vbs циклов, которая по своей природе очень проста:

While условие
тело цикла
Wend

Тут всё просто, если условие истинно – равно true, работа продолжается, иначе, происходит завершение работы.

Спасибо за внимание. Автор блога Владимир Баталий

PowerShell Looping: Understanding and Using Do…While

Summary: Microsoft Scripting Guy, Ed Wilson, talks about using the Do…While statement in Windows PowerShell scripts.

Microsoft Scripting Guy, Ed Wilson, is here. Last week, the Scripting Wife and I were at the Windows PowerShell Summit in Bellevue, Washington. It was an awesome week. We got to reconnect with many old friends, and we also made new ones. I delivered three sessions on Wednesday. Needless to say, I was a bit tired. In fact, the entire week was tiring. I am talking about 16-hour days, and a three-hour time zone change kind of tired. But the energy was buzzing around; and therefore, it was awesome.

Читайте также:  Диалоговое окно windows его элементы

Before one of my sessions, I decided to get a cup of coffee. Someone saw me and said, “What are you doing with coffee? Don’t you usually drink tea?” Well, yes I do, but I thought I would go for the «hard stuff» to provide a little extra jolt before my session.

After one of my sessions, someone came up to me and said they liked my blog posts last week, and wondered if I would write something about Do. A «Scooby Do, where are you» kind of do? Probably not. Here you go…

The Do…While loop construction in Windows PowerShell is a bottom evaluated version of the While loop that I talked about in PowerShell Looping: Using While. The whole idea is that I am going to do something while a condition exists. As an example, here is a recent weather forecast for Charlotte, North Carolina, where the Scripting Wife and I live:

So I might go outside and ride my bike while the sun is shining. The strange thing is the way the evaluation goes. It might look like this:

Go to the garage.

Ride while it is sunny.

The evaluation occurs at the end. In Windows PowerShell script, it would look like the following:

> (While (weather –eq ‘sunny’)

Using Do…While

Now I want to take a look at a real Windows PowerShell script that illustrates using the Do…While loop.

In the script that follows, I set the value of the $a variable to equal 1. In the Do loop, I print a message that I am starting the loop. Next I display the value of $a, and then I increment $a. I print the current value of $a, and then close the script block. In the While evaluation block, I check to see if $a is less than or equal to 5. The script is shown here:

«Starting Loop $a»

The script in the ISE and the output from the script are shown in the following image:

So, I can see that there are four parts to a Do…While loop. First is the Do keyword, then the script block that I want to “do.” Then comes the While keyword, and the condition that is evaluated to determine if another loop will occur.

In many respects, the While statement and the Do…While loop are similar. The difference is that with the While statement, the condition is evaluated to determine if the script block will take place. In the Do…While loop, because the condition occurs at the end of the loop, it will always loop at least once.

This is illustrated in the image that follows. I use exactly the same script as I used previously, but instead of setting the value of $a, I assign a value of 9. Now, 9 is greater than 5, so the ($a –le 5) condition is never true. Yet, as you can see in the image, the script block ran once.

Читайте также:  Teamviewer from mac to windows

A more practical example

I decided to write a little script that will monitor for the existence of a process by name. As long as the process runs, the script continues to loop around. To ensure that the process runs, I start it at the beginning of the script. I then use the –contains operator to look for the process by name in the control portion of the loop. Here is the script:

«$p found at $(get-date)»

> While ($proc.name -contains ‘notepad’)

In the following image, I see that it took me a few seconds to close Notepad. When I manually close Notepad, the looping stops.

Windows PowerShell Fundamentals Week will continue tomorrow when I will continue talking about looping.

Урок 10 по JScript: Цикл while и do. while

В данной статье мы с вами подробно рассмотрим while и do … while js циклы, а также операторы break и continue. Инструкция while по логике своей работы похожа на условный оператор if, тут также происходит сначала проверка условия, и если оно истинно (равно true), то идёт выполнение выражения.

Только цикл while в js сценариях предназначен для циклического выполнения заданного выражения. Цикл do … while аналогичен предыдущему с той лишь разницей, что тут проверка условия выполняется в конце.

Хорошо, давайте рассмотрим всё подробно:

While – общий синтаксис данной конструкции:

While (условие) <
Тело цикла
[break]
[continue]
Тело цикла
>

Видим, что после ключевого слова While идёт проверка условия, если условие выполняется – истинно, то цикл js while работает, иначе – происходит завершение его работы. Так же стоит обратить внимание, что начало и конец цикла заключается в фигурные скобки. Видим, что в теле можно использовать инструкции break и continue.

  • Break – данная конструкция может применяться во всех циклах и в конструкции switch, она приводит к немедленному выходу из цикла.
  • Continue – использование аналогично инструкции break с той лишь разницей, что происходит переход к новой итерации цикла.

Как видим, цикл while js сценариев производит проверку условия в самом начале и не содержит счетчика, как, например, в операторе for. Это говорит о том, что, если надо указать в условии количество итераций (например: while (i>10)), то, возможно, в самом теле придётся указать шаг (например, i++), иначе, может произойти зацикливание.

Давайте рассмотрим следующий пример:

Видим, что в данном примере, мы написали три цикла while, каждый должен выполнятся 9 раз (i выйти из цикла, как только переменная i примет значение 5 .

Do … while – данная конструкция содержит следующий синтаксис:

do<
Тело цикла
[break]
[continue]
Тело цикла
> while (условие)

Как видим, do … while в js сценарии производит проверку в самом конце после ключевого слова while. Вначале идет ключевое слово do, после него идут фигурные скобки, между ними идут другие выражения и конструкции, а также могут использоваться операторы break и continue.

Давайте напишем пример, аналогичный предыдущему, но с использованием конструкции do … while:

Как и в предыдущем примере, тут мы производим суммирование значений переменной i, но проверка условия выполняется не в начале, а в конце. Стоит упомянуть, что, если проверка условия выполняется в конце цикла, то в самом теле выполнится как минимум один оператор.

Спасибо за внимание. Автор блога Владимир Баталий

Оцените статью