Nabend
Ich wollte in mein Script eine Updatefunktion einbauen, welche genutzt werden kann wen die Datei vom CMD aus, ausgeführt wird. Mein Problem ist jedoch, dass er die Frage, dass es ein Update gibt und ob geupdated werden soll immer stellt, ohne dass er überhaupt einen Vergleich anstellt mit der Datei. Abgesehen davon, stürtzt mir das Script unabhängig von meiner Antwort (Ja oder Nein) mit folgender Fehlermeldung ab:
Hier mal der Update Teil
[autoit]$BatchCommandUpdate = "@Echo Off" & @CRLF & "title Copying Update" & @CRLF & '"xcopy ' & @TempDir & '\Filename.exe" "' & @ScriptFullPath & '" >nul' & @CRLF & 'del "' & @TempDir & '\Filename.exe" >nul' & @CRLF & 'del "' & @TempDir & '\Update.bat"'
If $CMDLINE[0] Then
If $CMDLINE[1] Then
$Version = "1.1 Final"
InetGet("http://Serveradresse/update/update.txt", @TempDir & "\update.txt", 1, 0)
$Updatefile = FileOpen(@TempDir & "\update.txt", 0)
$Line = FileReadLine($UpdateFile, 1)
If $Line = $Version Then
FileClose($Updatefile)
FileDelete(@TempDir & "\update.txt")
MsgBox(64, "No update found", "No update has been found!")
Exit
Else
$UpdateMsgBox = MsgBox(32+4, "Update!", "A new version of the script is avaible. Would you like to download it now?")
;$UpdateMsgBox Wurde entfernt, da Fehler verursacht
If $UpdateMsgBox = 6 Then
InetGet("http://Serveradresse.de/update" & $Line & ".exe", @TempDir & "\Filename.exe", 1, 0)
FileClose($UpdateFile)
FileDelete(@TempDir & "\update.txt")
FileWrite(@TempDir & "\Update.bat", $BatchCommandUpdate)
run(@TempDir & "\Update.bat")
Exit
ElseIf $UpdateMsgBox = 7 Then
Exit
EndIf
Exit
EndIf
EndIf
EndIf
Danke bereits im voraus
EDIT: Ok, die Datei ladet er runter, und führt anscheinend die Prüfung durch. Dann geht er weiter zum Schritt wo er die exe vom Server runterladen soll, aber anscheinend passiert da irgendwo ein Fehler.