Что нового

Объединить два hex файла в один

Xabib2302

Новичок
Сообщения
64
Репутация
0
Версия AutoIt 3.3.14.5
Как объединить два файла exe+data в один. Т.е соединить два hex файла
 

InnI

AutoIT Гуру
Сообщения
4,516
Репутация
1,232
Код:
$Name1 = "Name.exe"
$Name2 = "Name.dat"
$NameN = "Name.bin"

$File1 = FileOpen($Name1, 16)
$File2 = FileOpen($Name2, 16)
$FileN = FileOpen($NameN, 2 + 16)

FileWrite($FileN, FileRead($File1))
FileWrite($FileN, FileRead($File2))

FileClose($File1)
FileClose($File2)
FileClose($FileN)

; проверка
ConsoleWrite((FileGetSize($NameN) = FileGetSize($Name1) + FileGetSize($Name2)) & @CRLF)
 
Последнее редактирование:
Автор
Xabib2302

Xabib2302

Новичок
Сообщения
64
Репутация
0
Если допустим нужно объединить более 2 файлов, как сделать проверку на наличие файлов. Файлы пронумерованы от 1 до ...
 

InnI

AutoIT Гуру
Сообщения
4,516
Репутация
1,232
как сделать проверку на наличие файлов
Код:
$N = 10
$All = True
For $i = 1 To $N
  $Name = "name" & $i & ".dat"
  If Not FileExists($Name) Then
    ConsoleWrite("Файл не найден: " & $Name & @CRLF)
    $All = False
  EndIf
Next
If $All Then
  ConsoleWrite("Все файлы найдены" & @CRLF)
EndIf
 
Автор
Xabib2302

Xabib2302

Новичок
Сообщения
64
Репутация
0
И как объединить эти два кода?
 

InnI

AutoIT Гуру
Сообщения
4,516
Репутация
1,232
"Огласите весь список, пожалуйста" ©
 
Автор
Xabib2302

Xabib2302

Новичок
Сообщения
64
Репутация
0
Нудно найти все папки и в каждой папке есть от 1 дата файла до 10,может от 1 до 7, короче рандомное количество файлов, максимум до 10 и поэтому нужно определить сколько файлов находится в папке и потом их объединить все файлы в один с расширением exe
 
Автор
Xabib2302

Xabib2302

Новичок
Сообщения
64
Репутация
0
И в чём смысл? Ну, допустим, объединили. А дальше что?
Есть куча инсталляторов на базе MS Visual C++ и в этих инсталляторах запакованы инсталляторы от Inno Setup т.е грубо говоря инсталлятор MSV C++ это распаковщик. Я выдергиваю инсталлятор Inno Setup с помощью 7zip вот такое командой
Bash:
7z.exe e "Программа.exe" -t# -o"Программа"
И в итоге получается

Первые два файла это файлы MSV C++ а остальные это куски инсталлятора Inno Setup. И я хочу объединить эти куски
 

InnI

AutoIT Гуру
Сообщения
4,516
Репутация
1,232
И вы считаете, что объединив эти куски вы получите один большой инсталлятор?
 

InnI

AutoIT Гуру
Сообщения
4,516
Репутация
1,232
Ну, допустим. И как узнать, с какого файла начать объединение - с первого, третьего, пятого?
 

emulator

Новичок
Сообщения
3
Репутация
0
Если это действительно файлы с расширением hex, просто так их объединять нельзя, т. к. у них есть структура которую нужно корректно объединить. https://ru.wikipedia.org/wiki/Intel_HEX
 
Верх