Tip of the day: Split large files into smaller chunks
Set Variable [ $InputPath ; Value: "/Users/cs/Desktop/tets.mp4" ]
Set Variable [ $ChunkSize ; Value: 10*1024*1024 ]
#
Set Variable [ $InputStream ; Value: MBS( "BinaryFile.Open"; $inputPath ) ]
If [ MBS("IsError") ]
Show Custom Dialog [ "Failed to open file." ; $InputStream & ¶ & $InputPath ]
Exit Script [ Text Result: ]
End If
Set Variable [ $InputLength ; Value: MBS( "BinaryFile.Length"; $InputStream ) ]
Set Variable [ $InputPosition ; Value: 0 ]
Set Variable [ $Counter ; Value: 1 ]
Loop
# Read chunk
Set Variable [ $Chunk ; Value: MBS( "BinaryFile.ReadHex"; $InputStream; $ChunkSize ) ]
#
# Write Chunk
Set Variable [ $OutputPath ; Value: $InputPath & "." & $Counter ]
Set Variable [ $OutputStream ; Value: MBS( "BinaryFile.Create"; $OutputPath ) ]
If [ MBS("IsError") ]
Show Custom Dialog [ "Failed to create file." ; $InputStream & ¶ & $OutputPath ]
Set Variable [ $r ; Value: MBS( "BinaryFile.Close"; $InputStream ) ]
Exit Script [ Text Result: ]
End If
Set Variable [ $r ; Value: MBS( "BinaryFile.WriteHex"; $OutputStream; $Chunk ) ]
Set Variable [ $r ; Value: MBS( "BinaryFile.Close"; $OutputStream ) ]
#
# next
Set Variable [ $InputPosition ; Value: $InputPosition + $ChunkSize ]
Exit Loop If [ $InputPosition > $InputLength ]
Set Variable [ $Counter ; Value: $Counter +1 ]
End Loop
#
# cleanup
Set Variable [ $r ; Value: MBS( "BinaryFile.Close"; $InputStream ) ]