Ваш код не работает, потому что он не является допустимым VBScript. У вас есть несколько проблем:
- VBScript не поддерживает объявления типизированных переменных (
Dim var As Type
). Используйте Dim var
, если вы хотите явно определить переменную. Однако обратите внимание, что в VBScript определение переменных требуется только тогда, когда вы ставите Option Explicit
в начале вашего скрипта.
- VBScript не поддерживает комбинированное объявление и определение переменных (
Dim var = value
). Вам нужно два отдельных оператора для определения переменной и присвоения ей значения. Два оператора можно поместить в одну строку, разделив их двоеточием (Dim var : var = value
), но они по-прежнему являются двумя отдельными операторами.
- В VBScript строка является примитивным типом данных. Строки VBScript не являются объектами со свойствами. Для разбиения строки используйте функцию
Split()
.
- Не переопределяйте переменную цикла внутри цикла.
Измените ваш цикл на что-то вроде этого, и он должен делать то, что вы хотите:
For Each item In list
Dim words : words = Split(item, ":")
For Each word In words
WScript.Echo Trim(word)
Next
Next
Если вам нужен только второй элемент из каждого разделенного элемента, вы должны сделать что-то вроде этого:
Dim words : words = Split(item, ":")
WScript.Echo Trim(words(1))
или как это:
WScript.Echo Trim(Split(item, ":")(1))