Запуск сценария:
- вызывает
shutdown -r -t 0 -f -m\\X
(синтаксическая ошибка: возможно, отсутствует пробел в -m \\X
?), А - выполняет
WScript.Quit
немедленно, так что for-next
l oop ухудшается.
После устранения вышеуказанных ошибок скрипт вызывает:
shutdown -r -t 0 -f -m \\X
shutdown -r -t 0 -f -m \\Y
- , а затем
shutdown -r -t 0 -f -m \\
(неверно) несколько раз, поскольку strCompName(i)
равно Empty
для каждого i
между 2 и 16.
Сценарий может быть следующим (в версии отладки с комментариями objShell.Run strShutdown
):
Option Explicit
Dim sR
sR = Wscript.ScriptName
call FixedArray
Wscript.Echo sR
WScript.Quit
sub FixedArray
dim strCompName(16)
strCompName(0) = "X"
strCompName(1) = "Y"
dim strShutdown
Dim objShell
Set objShell = CreateObject("WScript.Shell")
Dim i
for i = 0 to UBound(strCompName)
If VarType(strCompName(i)) = 8 Then ' 8 = String '
strShutdown = "shutdown -r -t 0 -f -m \\" & strCompName(i)
'' objShell.Run strShutdown
sR = sR & vbNewLine & CStr(i) & vbTab & strShutDown
End If
next
end sub