Hallo,
möchte eine "vbs"-Datei in ein Array einlesen, anschließend zwei Werte suchen und diese dann durch Werte aus Variablen ersetzen und anschließend eine zweite "vbs"-Datei schreiben, um sie anschließend ausführen zu können.
Hier der vbs-Code (zu ersetzendes rot markiert):
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objNewJob = objWMIService.Get("Win32_ScheduledJob")
errJobCreated = objNewJob.Create
("C:\BKU\Update\update.exe", "********013000.000000-420", True , 1, , , JobID)
Wscript.Echo errJobCreated
Aktuelles Problem:
Der Array wird anscheinend eingelesen, die neue "vbs"-Datei erstellt, jedoch ohne Inhalt. Was mache ich hier falsch?
Hier der AutoIT-Code:
[autoit]$sPathVBS = 'C:\BKU\ToDo\base.vbs'
$fhNewVBS = FileOpen('C:\BKU\Update\scheduled.vbs', 2)
Dim $arTextVBS
If Not _FileReadToArray($sPathVBS, $arTextVBS) Then
MsgBox(4112, 'Error', 'Datei konnte nicht eingelesen werden!', 5)
Else
For $i = 1 To $arTextVBS[0]
Select
Case StringInStr($arTextVBS[$i], '0130')
StringReplace($arTextVBS[$i], '130', $zeit1, 1)
Case StringInStr($arTextVBS[$i], 'True , 1')
StringReplace($arTextVBS[$i], 'True', $tag, 1)
EndSelect
Next
IF Not _FileWriteFromArray($fhNewVBS, $arTextVBS) Then
MsgBox(4112, 'Error', 'Datei konnte nicht geschrieben werden!', 5)
EndIf
EndIf
FileClose($fhNewVBS)