4.
Код:
#include <Process.au3>
$NameArx = "Data.rar" ; Aрхив
$NameOut = @ProgramsDir & "\" ; Путь для распаковки
FileInstall("Rar.exe", @TempDir & "\Rar.exe", 1) ; Файл Rar.exe в должен быть в паке со скриптом (украдёш из WinRar`a)
$RunDos = _RunDOS(@TempDir & '\' & 'Rar.exe x -Y ' & @ScriptDir & "\" & StringLeft($NameArx, StringLen($NameArx) - 4) & ' *.* ' & $NameOut)
If $RunDos > 0 Then
MsgBox(16, "Сообщение WinRar", "Распаковка архива" & $NameArx & @CRLF & _ReturnErrorWinRar($RunDos))
Exit
EndIf
Func _ReturnErrorWinRar($Error = "x") ; Функция для возврата кодов ошибок.
Switch $Error
Case 0
Return "Операция успешно завершена."
Case 1
Return "Предупреждение. Произошли некритические ошибки."
Case 2
Return "Произошла критическая ошибка."
Case 3
Return "При распаковке обнаружена ошибка CRC."
Case 4
Return "Предпринята попытка изменить заблокированный архив."
Case 5
Return "Произошла ошибка записи на диск."
Case 6
Return "Произошла ошибка открытия файла."
Case 7
Return "Ошибка при указании параметра в командной строке."
Case 8
Return "Недостаточно памяти для выполнения операции."
Case 9
Return "Ошибка при создании файла."
Case 255
Return "Операция была прервана пользователем."
EndSwitch
EndFunc ;==>_ReturnErrorWinRar