CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
-
Tosyk
CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
всем привет,
1. имеется папка с кучей файлов. у файлов вместо имени hash-абракадабра типа: 000ec4d858ebbaa80621fc19a608599f.chunk или aa8d9cd800e0c17bc5b03d488ab17572.chunk
2. имеется набор файлов с расширением EBX (и нормальными именами), в хексе которых эти hash-имена.
задача вот такая вот: кидаем EBX на BAT файл и соответствующие файлы .chunk копируются к исходному EBX и, было бы круто, эти скопированные .chunk файлы переименовывать в имя EBX с числовым индексом.
подскажите как такое реализовать.
p.s.: обнаружил, что после каждого hash-имени внутри EBX идёт hex-значение: FFFFFFFF
1. имеется папка с кучей файлов. у файлов вместо имени hash-абракадабра типа: 000ec4d858ebbaa80621fc19a608599f.chunk или aa8d9cd800e0c17bc5b03d488ab17572.chunk
2. имеется набор файлов с расширением EBX (и нормальными именами), в хексе которых эти hash-имена.
задача вот такая вот: кидаем EBX на BAT файл и соответствующие файлы .chunk копируются к исходному EBX и, было бы круто, эти скопированные .chunk файлы переименовывать в имя EBX с числовым индексом.
подскажите как такое реализовать.
p.s.: обнаружил, что после каждого hash-имени внутри EBX идёт hex-значение: FFFFFFFF
-
Iska
Re: CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
Tosyk, как понять, что есть:
Цитата Tosyk:
в хексе которых эти hash-имена.
Цитата Tosyk:
копируются к исходному EBX
Цитата Tosyk:
переименовывать в имя EBX с числовым индексом
? Где образцы тех и других файлов, упакованных в архив? Где примеры того, что есть, и что надо получить?
Цитата Tosyk:
в хексе которых эти hash-имена.
CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
Цитата Tosyk:
копируются к исходному EBX
CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
Цитата Tosyk:
переименовывать в имя EBX с числовым индексом
CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
? Где образцы тех и других файлов, упакованных в архив? Где примеры того, что есть, и что надо получить?
-
Tosyk
Re: CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
извините, а как пользоваться?
edit: и ещё, я хотел вот так делать: перетаскиваю .MeshSet (это по сути тот же EBX) файл на исполняемый .bat и все нужные .chunk копируются в папку к исходному .MeshSet. такое можно с ним делать?
edit: и ещё, я хотел вот так делать: перетаскиваю .MeshSet (это по сути тот же EBX) файл на исполняемый .bat и все нужные .chunk копируются в папку к исходному .MeshSet. такое можно с ним делать?
-
Tosyk
Re: CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
Цитата Tosyk:
возможно, когда вы посмотрите на них у вас не останется вопросов
Лично мне понятней не стало. Вы не ответили на первый и последний вопросы.
возможно, когда вы посмотрите на них у вас не останется вопросов
CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
Лично мне понятней не стало. Вы не ответили на первый и последний вопросы.
-
Tosyk
Re: CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
вроде бы начало работать, но через 2 минуты выдало эксепшены:
Скрытый текст
[spoiler][D:\_r\fb\interstate_76_premium_pc\_ex_test\bundles\res\characters\heads\head01\
head01_enemy_mesh 70110000000000001001000070009400.MeshSet]
Offset: 212
Found file name: 1689A37995A680D6AABEDA914DD62F89
File [D:\_r\fb\interstate_76_premium_pc\_ex_test\chunks\chunks0\1689a
37995a680d6aabeda914dd62f89.chunk] found!
Copy to [D:\_r\fb\interstate_76_premium_pc\_ex_test\bundles\res\characte
rs\heads\head01] as [head01_enemy_mesh 70110000000000001001000070009400_01_01.ch
unk].
Исключение при вызове "Copy" с "3" аргументами: "Файл 'D:\_r\fb\interstate_76_p
remium_pc\_ex_test\chunks\1689A37995A680D6AABEDA914DD62F89.chunk' не найден."
D:\_r\fb\interstate_76_premium_pc\tools\ps_chunks.ps1:47 знак:64
+ [System.IO.File]::Copy($sChunkFile, "$($oSourceFile.D
ire ...
+ ~~~~~~~~~~~~~~
~~~
+ CategoryInfo : NotSpecified: (
[], MethodInvocationException
+ FullyQualifiedErrorId : FileNotFoundException
Offset: 388
Found file name: 4359EB953C735D805EE6F7B155BC403B
File [D:\_r\fb\interstate_76_premium_pc\_ex_test\chunks\chunks1\4359e
b953c735d805ee6f7b155bc403b.chunk] found!
Copy to [D:\_r\fb\interstate_76_premium_pc\_ex_test\bundles\res\characte
rs\heads\head01] as [head01_enemy_mesh 70110000000000001001000070009400_02_01.ch
unk].
Исключение при вызове "Copy" с "3" аргументами: "Файл 'D:\_r\fb\interstate_76_p
remium_pc\_ex_test\chunks\4359EB953C735D805EE6F7B155BC403B.chunk' не найден."
D:\_r\fb\interstate_76_premium_pc\tools\ps_chunks.ps1:47 знак:64
+ [System.IO.File]::Copy($sChunkFile, "$($oSourceFile.D
ire ...
+ ~~~~~~~~~~~~~~
~~~
+ CategoryInfo : NotSpecified: (
[], MethodInvocationException
+ FullyQualifiedErrorId : FileNotFoundException
Offset: 564
Found file name: B59CF3BB396E1BC16C1585473170565F
File [D:\_r\fb\interstate_76_premium_pc\_ex_test\chunks\chunks1\b59cf
3bb396e1bc16c1585473170565f.chunk] found!
Copy to [D:\_r\fb\interstate_76_premium_pc\_ex_test\bundles\res\characte
rs\heads\head01] as [head01_enemy_mesh 70110000000000001001000070009400_03_01.ch
unk].
Исключение при вызове "Copy" с "3" аргументами: "Файл 'D:\_r\fb\interstate_76_p
remium_pc\_ex_test\chunks\B59CF3BB396E1BC16C1585473170565F.chunk' не найден."
D:\_r\fb\interstate_76_premium_pc\tools\ps_chunks.ps1:47 знак:64
+ [System.IO.File]::Copy($sChunkFile, "$($oSourceFile.D
ire ...
+ ~~~~~~~~~~~~~~
~~~
+ CategoryInfo : NotSpecified: (
[], MethodInvocationException
+ FullyQualifiedErrorId : FileNotFoundException
Offset: 740
Found file name: 2D70DB36CE8988E189CEBD5F24B75895
File [D:\_r\fb\interstate_76_premium_pc\_ex_test\chunks\chunks1\2d70d
b36ce8988e189cebd5f24b75895.chunk] found!
Copy to [D:\_r\fb\interstate_76_premium_pc\_ex_test\bundles\res\characte
rs\heads\head01] as [head01_enemy_mesh 70110000000000001001000070009400_04_01.ch
unk].
Исключение при вызове "Copy" с "3" аргументами: "Файл 'D:\_r\fb\interstate_76_p
remium_pc\_ex_test\chunks\2D70DB36CE8988E189CEBD5F24B75895.chunk' не найден."
D:\_r\fb\interstate_76_premium_pc\tools\ps_chunks.ps1:47 знак:64
+ [System.IO.File]::Copy($sChunkFile, "$($oSourceFile.D
ire ...
+ ~~~~~~~~~~~~~~
~~~
+ CategoryInfo : NotSpecified: (
[], MethodInvocationException
+ FullyQualifiedErrorId : FileNotFoundException
Press Enter to close...[/spoiler]
ничего не скопировало
Скрытый текст
[spoiler][D:\_r\fb\interstate_76_premium_pc\_ex_test\bundles\res\characters\heads\head01\
head01_enemy_mesh 70110000000000001001000070009400.MeshSet]
Offset: 212
Found file name: 1689A37995A680D6AABEDA914DD62F89
File [D:\_r\fb\interstate_76_premium_pc\_ex_test\chunks\chunks0\1689a
37995a680d6aabeda914dd62f89.chunk] found!
Copy to [D:\_r\fb\interstate_76_premium_pc\_ex_test\bundles\res\characte
rs\heads\head01] as [head01_enemy_mesh 70110000000000001001000070009400_01_01.ch
unk].
Исключение при вызове "Copy" с "3" аргументами: "Файл 'D:\_r\fb\interstate_76_p
remium_pc\_ex_test\chunks\1689A37995A680D6AABEDA914DD62F89.chunk' не найден."
D:\_r\fb\interstate_76_premium_pc\tools\ps_chunks.ps1:47 знак:64
+ [System.IO.File]::Copy($sChunkFile, "$($oSourceFile.D
ire ...
+ ~~~~~~~~~~~~~~
~~~
+ CategoryInfo : NotSpecified: (
[], MethodInvocationException+ FullyQualifiedErrorId : FileNotFoundException
Offset: 388
Found file name: 4359EB953C735D805EE6F7B155BC403B
File [D:\_r\fb\interstate_76_premium_pc\_ex_test\chunks\chunks1\4359e
b953c735d805ee6f7b155bc403b.chunk] found!
Copy to [D:\_r\fb\interstate_76_premium_pc\_ex_test\bundles\res\characte
rs\heads\head01] as [head01_enemy_mesh 70110000000000001001000070009400_02_01.ch
unk].
Исключение при вызове "Copy" с "3" аргументами: "Файл 'D:\_r\fb\interstate_76_p
remium_pc\_ex_test\chunks\4359EB953C735D805EE6F7B155BC403B.chunk' не найден."
D:\_r\fb\interstate_76_premium_pc\tools\ps_chunks.ps1:47 знак:64
+ [System.IO.File]::Copy($sChunkFile, "$($oSourceFile.D
ire ...
+ ~~~~~~~~~~~~~~
~~~
+ CategoryInfo : NotSpecified: (
[], MethodInvocationException+ FullyQualifiedErrorId : FileNotFoundException
Offset: 564
Found file name: B59CF3BB396E1BC16C1585473170565F
File [D:\_r\fb\interstate_76_premium_pc\_ex_test\chunks\chunks1\b59cf
3bb396e1bc16c1585473170565f.chunk] found!
Copy to [D:\_r\fb\interstate_76_premium_pc\_ex_test\bundles\res\characte
rs\heads\head01] as [head01_enemy_mesh 70110000000000001001000070009400_03_01.ch
unk].
Исключение при вызове "Copy" с "3" аргументами: "Файл 'D:\_r\fb\interstate_76_p
remium_pc\_ex_test\chunks\B59CF3BB396E1BC16C1585473170565F.chunk' не найден."
D:\_r\fb\interstate_76_premium_pc\tools\ps_chunks.ps1:47 знак:64
+ [System.IO.File]::Copy($sChunkFile, "$($oSourceFile.D
ire ...
+ ~~~~~~~~~~~~~~
~~~
+ CategoryInfo : NotSpecified: (
[], MethodInvocationException+ FullyQualifiedErrorId : FileNotFoundException
Offset: 740
Found file name: 2D70DB36CE8988E189CEBD5F24B75895
File [D:\_r\fb\interstate_76_premium_pc\_ex_test\chunks\chunks1\2d70d
b36ce8988e189cebd5f24b75895.chunk] found!
Copy to [D:\_r\fb\interstate_76_premium_pc\_ex_test\bundles\res\characte
rs\heads\head01] as [head01_enemy_mesh 70110000000000001001000070009400_04_01.ch
unk].
Исключение при вызове "Copy" с "3" аргументами: "Файл 'D:\_r\fb\interstate_76_p
remium_pc\_ex_test\chunks\2D70DB36CE8988E189CEBD5F24B75895.chunk' не найден."
D:\_r\fb\interstate_76_premium_pc\tools\ps_chunks.ps1:47 знак:64
+ [System.IO.File]::Copy($sChunkFile, "$($oSourceFile.D
ire ...
+ ~~~~~~~~~~~~~~
~~~
+ CategoryInfo : NotSpecified: (
[], MethodInvocationException+ FullyQualifiedErrorId : FileNotFoundException
Press Enter to close...[/spoiler]
ничего не скопировало
-
Tosyk
Re: CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
Цитата Tosyk:
нужно просканировать .MeshSet выявить список всех таких имён
Ориентируемся только на то, что Вы сказали:
Цитата Tosyk:
перед каждым значением FFFFFFFF будет 32-ух значное имя файла
?
нужно просканировать .MeshSet выявить список всех таких имён
CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
Ориентируемся только на то, что Вы сказали:
Цитата Tosyk:
перед каждым значением FFFFFFFF будет 32-ух значное имя файла
CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
?
-
Iska
Re: CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
вообще это я сам придумал. если есть какая-то возможность понять где в этом файле (в данном случае .MeshSet) будут эти 32-ух значные имена НЕ ориентируясь на FFFFFFFF то это было бы просто отлично
edit: сейчас у меня в папке CHUNK 32000 файлов
edit: сейчас у меня в папке CHUNK 32000 файлов
-
Tosyk
Re: CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
если вы откроете любой из двух файлов .MeshSet из папки EBX моего примера в HEX редакторе то там перед каждым значением FFFFFFFF будет 32-ух значное имя файла из папки CHUNK моего же примера.
нужно просканировать .MeshSet выявить список всех таких имён и скопировать файлы с соответствующими именами из папки CHUNK в то место где лежит исходный .MeshSet
например для файла head_cole_mp_mesh 90110000000000001001000070009400.MeshSet список таких имён будет таким:
Код:
а в папке CHUNK лежат файлы с такими же именами - нужно их скопировать в папку к этому head_cole_mp_mesh 90110000000000001001000070009400.MeshSet и переименовать в
Код:
нужно просканировать .MeshSet выявить список всех таких имён и скопировать файлы с соответствующими именами из папки CHUNK в то место где лежит исходный .MeshSet
например для файла head_cole_mp_mesh 90110000000000001001000070009400.MeshSet список таких имён будет таким:
Код:
Код: Выделить всё
305B5D766DEEDE8081AF49D0A42426CF
88AA965A017628C5D9180DBE0A938819
65FEA349ABF38F538453CEBDA3242277
479EAF685E58B752F331F73A4A28586Fа в папке CHUNK лежат файлы с такими же именами - нужно их скопировать в папку к этому head_cole_mp_mesh 90110000000000001001000070009400.MeshSet и переименовать в
Код:
Код: Выделить всё
head_cole_mp_mesh 90110000000000001001000070009400_01.chunk
head_cole_mp_mesh 90110000000000001001000070009400_02.chunk
head_cole_mp_mesh 90110000000000001001000070009400_03.chunk
head_cole_mp_mesh 90110000000000001001000070009400_04.chunk-
Iska
Re: CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
ebx - это общий игровой формат движка frostbite. довольно разносторонний. там может всё что угодно содержаться, но что меня интересует так это только линки на эти 32-ух значные имена.
вот что то похожее на описание:
в аттаче я прикрепил подобный файлу .MeshSet файл для линка к текстуре. из него можно узнать имя 4D42EF837BFB4F9CBD9E664F7959E7A3 и это ещё один файл из папки CHUNK только это уже будет текстура.
вот что то похожее на описание:
https://pastebin.com/rGpBFwAV
в аттаче я прикрепил подобный файлу .MeshSet файл для линка к текстуре. из него можно узнать имя 4D42EF837BFB4F9CBD9E664F7959E7A3 и это ещё один файл из папки CHUNK только это уже будет текстура.
-
Tosyk
Re: CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
вообще это я сам придумал. если есть какая-то возможность понять где в этом файле (в данном случае .MeshSet) будут эти 32-ух значные имена НЕ ориентируясь на FFFFFFFF то это было бы просто отлично
edit: сейчас у меня в папке CHUNK 32000 файлов
edit: сейчас у меня в папке CHUNK 32000 файлов