Заметил такую особенность — если в aaPanel удалить не нужную MySQL базу, то потом создать с таким же именем не возможно, система говорит что такая база уже есть.
$FileRestore = '12042024_1.txt'
For $n = 2 To FileReadLine ($FileRestore, 1)
$ReadLine = FileReadLine ($FileRestore, $n)
If FileExists ($ReadLine) = 1 Then
Desitnegrator ($ReadLine)
Else
FileWriteLine ('e:\au3\checkfiles\log_without.txt', $ReadLine)
EndIf
ToolTip (13470-$n & ' - ' & $n & '.' & $ReadLine, 10, 10)
Next
Func Desitnegrator ($FileName)
$Path = $FileName
$File1 = "temp1"
$File2 = "temp2"
$ReadFile = FileOpen($Path, 16)
If $ReadFile = -1 Then
;MsgBox(0, "Error", "Unable to open file.")
Exit
EndIf
$FileSize = FileGetSize($Path)
$HalfSize = $FileSize / 2
; Чтение и запись первой половины файла в первый файл
$WriteFile1 = FileOpen($File1, 2)
If $WriteFile1 = -1 Then
;MsgBox(0, "Error", "Unable to open first output file.")
Exit
EndIf
For $i = 1 To $HalfSize
$byte = FileRead($ReadFile, 1)
If @error Then ExitLoop ; проверяем, достигли ли конца файла
FileWrite($WriteFile1, $byte)
Next
FileClose($WriteFile1)
; Чтение и запись второй половины файла во второй файл
$WriteFile2 = FileOpen($File2, 2)
If $WriteFile2 = -1 Then
;MsgBox(0, "Error", "Unable to open second output file.")
Exit
EndIf
While True
$byte = FileRead($ReadFile, 1)
If @error Then ExitLoop ; проверяем, достигли ли конца файла
FileWrite($WriteFile2, $byte)
WEnd
FileClose($WriteFile2)
FileClose($ReadFile)
; Проверка идентичности полученных файлов
If _FileCompare($File1, $File2) Then
;MsgBox(0, "Готово", "Данный файл двойной, заменяю оригинал.")
FileDelete($Path)
FileMove($File1, $Path)
;FileCopy($File1, $Path)
FileDelete($File2)
FileWriteLine ('e:\au3\checkfiles\logs.txt', $Path & ' - ' & $FileSize)
Else
;MsgBox(0, "Готово", "Данный файл не изменен.")
FileDelete($File1)
FileDelete($File2)
EndIf
EndFunc
Func _FileCompare($File1, $File2)
Local $hFile1 = FileOpen($File1, 16)
Local $hFile2 = FileOpen($File2, 16)
If $hFile1 = -1 Or $hFile2 = -1 Then
Return False
EndIf
Local $bEqual = True
While True
Local $byte1 = FileRead($hFile1, 1)
Local $byte2 = FileRead($hFile2, 1)
If $byte1 <> $byte2 Then
$bEqual = False
ExitLoop
EndIf
If @error Then ExitLoop
WEnd
FileClose($hFile1)
FileClose($hFile2)
Return $bEqual
EndFunc
Так как одни из самых чувствительных файлов это архивы — проверил на них, всё открывается.