Hallo,
ich habe das Problem gelöst.
In der Code-Zeile 15 musste ich lediglich die Variable &Ver und $oFileVer.Item($Name)
in eine "ganze Zahl" umwandeln.
Durch die Änderungen zwischen 7-13 erkennt das Script nun auch Dateien ohne Versionsnummer bzw. Dateien mit der Versionsnummer "0".
Spoiler anzeigen
Func _GetHighestVer(ByRef $a)
Local $oFileVer = ObjCreate('Scripting.Dictionary')
Local $Name
Local $Ver
Local $i
For $i = 0 To UBound($a)-1
If StringIsDigit (StringTrimLeft($a[$i], StringInStr($a[$i], '.', 1, -1))) Then
$Name = StringLeft($a[$i], StringInStr($a[$i], '.', 1, -1)-1)
$Ver = StringTrimLeft($a[$i], StringInStr($a[$i], '.', 1, -1))
Else
$Name = $a[$i]
$Ver = ""
EndIf
If $oFileVer.Exists($Name) Then
If Int($Ver) > Int($oFileVer.Item($Name)) Then $oFileVer.Item($Name) = $Ver
Else
$oFileVer.Add($Name, $Ver)
EndIf
Next
If $oFileVer.Count > 0 Then
Local $FileListHighestVer[$oFileVer.Count]
Local $strKey, $colKeys = $oFileVer.Keys, $i = 0
For $strKey In $colKeys
$FileListHighestVer[$i] = $strKey & "." & $oFileVer.Item($strKey)
$i += 1
Next
Return $FileListHighestVer
EndIf
EndFunc
Func _ListMinusList (ByRef $a, $b)
Local $i
For $i = UBound($a) - 1 To 0 Step -1
If _ArraySearch($b, $a[$i]) <> -1 Then _ArrayDelete($a, $i)
Next
Return $a
EndFunc