SPLICE for "gene" splicing, cutting, copying, inserting and overlaying bits of a file into another. Uses for SPLICE: 1. excising a section of a file. 2. replacing a section of a file. 3. inserting a section into a file. 4. extracting a section of a file. 5. appending a section onto a file. Splice is designed to work on text files. For audio files, you would use an audio editor like GoldWave. For word processing files, you would use the word processor that created the two files. It can be used on binary files in the rare instance just butting the files together is sufficient. SPLICE commands, may be upper or lower case: SPLICE CUT MyFile1.Txt START 6 LENGTH 5 RECSIZE 1024 remove a slice from a file offset 6 length 5 Offsets and lengths are measured in blocks of 1024. SPLICE CUT MyFile1.Txt START 6 LENGTH 5 TO MyFile2.txt RECSIZE 1024 remove a slice from a file offset 6 length 5 and copy it to a new file. SPLICE CUT MyFile1.Txt START 6 LENGTH 5 APPEND MyFile2.txt RECSIZE 1024 remove a slice from a file offset 6 length 5 and copy it to the end of another file. SPLICE CUT MyFile1.Txt START 6 LENGTH 5 OVERLAY MyFile2.txt AT 7 RECSIZE 1024 remove a slice from a file, offset 6 length 5, overlay it on top of another file at offset 7. SPLICE CUT MyFile1.Txt START 6 LENGTH 5 INSERT MyFile2.txt AT 7 RECSIZE 1024 remove a slice from a file, offset 6, length 5, insert at offset 7 in another file SPLICE COPY MyFile1.Txt START 6 LENGTH 5 TO MyFile2.txt RECSIZE 1024 copy a slice from a file offset 6 length 5 to a new file SPLICE COPY MyFile1.Txt START 6 LENGTH 5 APPEND MyFile2.txt RECSIZE 1024 copy a slice from a file offset 6 length 5 to the end of another file. SPLICE COPY MyFile1.Txt START 6 LENGTH 5 OVERLAY MyFile2.txt AT 7 RECSIZE 1024 copy a slice from a file, offset 6 length 5, overlaying it on top of another file at offset 7, replacing the previous data. SPLICE COPY MyFile1.Txt START 6 LENGTH 5 INSERT MyFile2.txt AT 7 RECSIZE 1024 copy a slice from a file, offset 6, length 5, inserting at offset 7 in another file. START defaults to 0 AT defaults to 0 RECSIZE defaults to 1 If length reaches out past the end of the source file, it will be shortened. Target files will be expanded as needed with zeroes. Because of the antiquity of this program it uses 32-bit rather than 64-bit arithmetic internally. This limits it to files of 2 GB. It is on my todo list to extend it. This program may be freely copied and used for any purpose except military. C++ source included.