View Full Version : Advanced File Splitter
Razor12911
17-08-2015, 17:20
Does the same thing as the other file splitter but this one has more options for splitting and merging.
This is the same program that was used for UltraARC.
Splitting
Parameters
AdvSplit Source Output SizeofSplit SplitProcess
Source: File to be splitted.
Output: A split of the main file.
SizeofSplit: The size of the current split
SplitProcess: Position where to start the split
Example
AdvSplit C:\Data.cab C:\DVD1\Data-1a.cab 1073741824 0
AdvSplit C:\Data.cab C:\DVD1\Data-1b.cab 1073741824 1073741824
AdvSplit C:\Data.cab C:\DVD2\Data-2a.cab 1073741824 2147483648
AdvSplit C:\Data.cab C:\DVD2\Data-2b.cab 1073741824 3221225472
Merging
Parameters
AdvSplit Source Output
Example
AdvSplit C:\DVD1\Data-1a.cab C:\Data.cab
AdvSplit C:\DVD1\Data-1b.cab C:\Data.cab
AdvSplit C:\DVD2\Data-2a.cab C:\Data.cab
AdvSplit C:\DVD2\Data-2b.cab C:\Data.cab
Source: One of the splitted files
Output: Location of the file that needs to be merged with the Source.
A question, can splitted archive be used by inno installer or it must be merged first ?
Razor12911
17-08-2015, 18:56
They have to be merged first bro, remember, a specific (de)compressing program specialises with its own files, once you start modifying the original archive, the program itself cannot extract the files inside or tell what happened to the original archive for it to start decompressing and then request another split, unless if the archive was splitted by the program itself then it knows how it did it. I've tried it before, the most success was with 7-Zip, to just extracted the splitted files but it only worked for the first split because that's where the header is located and the rest of the splits, it showed an error, "archive is damaged", with Freearc, it was a different story, couldn't even extract any of the splitted files, so yea, they definitely have to merged first, there isn't any other way.
so it simply cut file/merge like split.exe. Thx for the answer :)
http://i.imgur.com/xzFy5Jk.png
AdvSplit .\Archive\Data1.bin .\DVD1\Data1a.bin 4598005760 0
AdvSplit .\Archive\Data1.bin .\DVD1\Data1b.bin 4676648960 4598005760
AdvSplit .\Archive\Data1.bin .\DVD1\Data1c.bin 4676648960 9274654720
AdvSplit .\Archive\Data1.bin .\DVD1\Data1d.bin 4676648960 13951303680
What's wrong?
pakrat2k2
24-05-2017, 01:38
maybe doesn't like .\ ? specify drive letter ....
Will try.
But my guess is because of file sizes. But it doesn't make sense if i mind. UA uses the same splitter, so....
Same error.
Will try with smaller sizes instead.
Edit:
Same error...
AdvSplit .\Archive\Data1.bin .\DVD1\Data1a.bin 1150287872 0
AdvSplit .\Archive\Data1.bin .\DVD1\Data1b.bin 1169162240 1150287872
AdvSplit .\Archive\Data1.bin .\DVD1\Data1c.bin 1169162240 2319450112
AdvSplit .\Archive\Data1.bin .\DVD1\Data1d.bin 1169162240 3488612352
AdvSplit G:\TestComp\Archive\Data1.bin G:\TestComp\DVD1\Data1a.bin 1150287872 0
AdvSplit G:\TestComp\Archive\Data1.bin G:\TestComp\DVD1\Data1b.bin 1169162240 1150287872
AdvSplit G:\TestComp\Archive\Data1.bin G:\TestComp\DVD1\Data1c.bin 1169162240 2319450112
AdvSplit G:\TestComp\Archive\Data1.bin G:\TestComp\DVD1\Data1d.bin 1169162240 3488612352
It's the only splitter i could find that allow different slice sizes for first and followwing archives .
Edit:
AdvSplit .\Archive\Data1.bin .\DVD1\Data1a.bin 4598005760 0
AdvSplit .\Archive\Data1.bin .\DVD1\Data1b.bin 4598005760 4598005760
AdvSplit .\Archive\Data1.bin .\DVD1\Data1c.bin 4598005760 9196011520
AdvSplit .\Archive\Data1.bin .\DVD1\Data1d.bin 4598005760 13794017280
It works, but only with one slice size for all files... Now i thinking what UA do for different slice sizes? I don't know.
Thanks Razor12911 for this tool..
I searched a lot for a tool to split the files and could not find. Then I found this
http://stahlworks.com/dev/index.php?tool=partcopy
This tool is similar to this one, but your tool is smaller in size.
Using AdvSplit tool, work using cmd to join parts?
function JoinFile(const FileName, OutFile: String): Boolean;
var
Param: String;
ResultCode: Integer;
begin
ForceDirectories(ExtractFileDir(OutFile));
if FileExists(OutFile) then
Param := 'COPY /B "' + OutFile + '" + "' + FileName + '" "' + OutFile + '"'
else
Param := 'COPY /B "' + FileName + '" "' + OutFile + '"';
Result := Exec(ExpandConstant('{cmd}'), '/C "' + Param + '"', '',SW_HIDE, ewWaitUntilTerminated, ResultCode);
end;
Here is a example using sfk.exe (Swiss File Knife). Split individual parts on especify size...
https://mega.nz/#!cAQRjQBJ!gT6Owe5qEXA8M8p0wadyTw4v83balcSgTbzp9tC-EV8
Using AdvSplit tool, work using cmd to join parts?
function JoinFile(const FileName, OutFile: String): Boolean;
var
Param: String;
ResultCode: Integer;
begin
ForceDirectories(ExtractFileDir(OutFile));
if FileExists(OutFile) then
Param := 'COPY /B "' + OutFile + '" + "' + FileName + '" "' + OutFile + '"'
else
Param := 'COPY /B "' + FileName + '" "' + OutFile + '"';
Result := Exec(ExpandConstant('{cmd}'), '/C "' + Param + '"', '',SW_HIDE, ewWaitUntilTerminated, ResultCode);
end;
Here is a example using sfk.exe (Swiss File Knife). Split individual parts on especify size...
https://mega.nz/#!cAQRjQBJ!gT6Owe5qEXA8M8p0wadyTw4v83balcSgTbzp9tC-EV8
Hi LuisCésar82
How to replace these codes with Split.exe in CIU.
pakrat2k2
04-07-2017, 21:51
^^ looking at the ISS script, looks fairly straight forward, just replace all sfk.exe, in the script with split.exe. Test to see if actually works or not, I just browsed thru it quickly.
^^ looking at the ISS script, looks fairly straight forward, just replace all sfk.exe, in the script with split.exe. Test to see if actually works or not, I just browsed thru it quickly.
no work
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.