Итак, у меня есть этот код, который я собрал и выполняю работу, но я пришел к выводу, что его можно еще больше оптимизировать с помощью For Each L oop и Array. Код запускает приложение HTA из командной строки и принимает два предварительно заданных параметра. Что я хочу сделать, и у меня возникли некоторые проблемы, так это свести к минимуму объем кода, поэтому единственное, что мне нужно было отредактировать, - это значения массива и сохранить все остальное в значительной степени c.
Пример того, что я пытаюсь выполнить sh (я знаю, что синтаксис неверен, просто пытаюсь нарисовать картинку):
Dim objShell, command
Set objShell = WScript.CreateObject ("WScript.Shell")
command = "cmd /c wmic process where name=""mshta.exe"" call terminate"
objShell.Run command, 0, True
Dim preMSI
preMSI = "MSI_"
Dim postMSI
postMSI = "_5"
Dim startPKG
startPKG = "Build"
Array(4O, AT, LQ)
ForEach ArrayValue (
'Prep Name Change
objShell.run "cmd.exe /C REN D:\"&startPKG&" "&firstArraryValue&"", 0, True
'Launch and Execute Package Build
objShell.run "D:\BUILDER.hta """&preMSI+Var1+postMSI&""" ""D:\"&Var1&""" ", 0, True
objShell.Run command, 0, True
'Rename the DIR from the first value to the second and so forth as it iterates
objShell.run "cmd.exe /C REN D:\"&firstArraryValue&" "&secondArraryValue&"", 0, True
)
Мой фактический код:
Dim objShell, command
Set objShell = WScript.CreateObject ("WScript.Shell")
command = "cmd /c wmic process where name=""mshta.exe"" call terminate"
objShell.Run command, 0, True
Dim preMSI
preMSI = "MSI_"
Dim postMSI
postMSI = "_5"
Dim startPKG
startPKG = "Build"
Dim Var1
Var1 = "4O"
'Prep Name Change
objShell.run "cmd.exe /C REN D:\"&startPKG&" "&Var1&"", 0, True
'Launch and Execute Package Build
objShell.run "D:\BUILDER.hta """&preMSI+Var1+postMSI&""" ""D:\"&Var1&""" ", 0, True
objShell.Run command, 0, True
Dim Var2
Var2 = "AT"
'Prep Name Change
objShell.run "cmd.exe /C REN D:\"&Var1&" "&Var2&"", 0, True
'Launch and Execute Package Build
objShell.run "D:\BUILDER.hta """&preMSI+Var2+postMSI&""" ""D:\"&Var2&""" ", 0, True
objShell.Run command, 0, True
Dim Var3
Var3 = "LQ"
'Prep Name Change
objShell.run "cmd.exe /C REN D:\"&Var2&" "&Var3&"", 0, True
'Launch and Execute Package Build
objShell.run "D:\BUILDER.hta """&preMSI+Var3+postMSI&""" ""D:\"&Var3&""" ", 0, True
objShell.Run command, 0, True