我需要在VBScript中创建条件For...Next
循环,它需要有多个(在这里我需要五个)子条件,它可以控制循环的行为。VBScript中的条件循环
这里是我当前的代码:
TOTAL_1 = 1
TOTAL_2 = 2
TOTAL_3 = 3
TOTAL_4 = 4
TOTAL_5 = 5 '<< Those are values of sub "To" conditions
TOTAL = TOTAL_1 + TOTAL_2 + TOTAL_3 + TOTAL_4 + TOTAL_5 '<< Total value of main "To" condition
For I = 1 To TOTAL
If I = 1 Then WScript.Echo "Currently in Set 1" '<< For sub condition TOTAL_1
If I = 2 Then WScript.Echo "Currently in Set 2"
If I = 3 Then WScript.Echo "Currently in Set 2" '<< For sub condition TOTAL_2
If I = 4 Then WScript.Echo "Currently in Set 3"
If I = 5 Then WScript.Echo "Currently in Set 3"
If I = 6 Then WScript.Echo "Currently in Set 3" '<< For sub condition TOTAL_3
If I = 7 Then WScript.Echo "Currently in Set 4"
If I = 8 Then WScript.Echo "Currently in Set 4"
If I = 9 Then WScript.Echo "Currently in Set 4"
If I = 10 Then WScript.Echo "Currently in Set 4" '<< For sub condition TOTAL_4
If I = 11 Then WScript.Echo "Currently in Set 5"
If I = 12 Then WScript.Echo "Currently in Set 5"
If I = 13 Then WScript.Echo "Currently in Set 5"
If I = 14 Then WScript.Echo "Currently in Set 5"
If I = 15 Then WScript.Echo "Currently in Set 5" '<< For sub condition TOTAL_5
Next
虽然上面的代码工作,我需要我每次改变的子条件的值,如时间更改为循环
TOTAL_1 = 20, TOTAL_4 = 8
for循环应该执行15在变量TOTAL
中分配时间,但在循环中更改值为I
,应检查当前I
所属的子条件,然后执行相同的工作(此处显示相同的消息),直到值I
属于下一个子条件。
如果我改变的子条件TOTAL_1
5的值,我需要在此以下变化For循环:
If I = 1 Then WScript.Echo "Currently in Set 1"
If I = 2 Then WScript.Echo "Currently in Set 1"
If I = 3 Then WScript.Echo "Currently in Set 1"
If I = 4 Then WScript.Echo "Currently in Set 1"
If I = 5 Then WScript.Echo "Currently in Set 1" '<< For changed sub condition TOTAL_1
我还需要添加更多的子条件像TOTAL_6
,TOTAL_7
...在未来。
如何在不更改每次循环的情况下执行此操作,以及如何从此代码删除任意行,从而使其更小?
签入'select case',因为它可能有助于缩短代码。请参阅此链接底部附近的示例:https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/statements/select-case-statement –
@PaulT。这是非常有用的,不用介意在VBScript中存在循环。 – GTAVLover