{ Programm Split } {$I+} uses dos; const bufsize =1024; splitsize =355000; count :longint =0; extcount :word =0; var buffer :array[1..bufsize] of byte; d :dirstr; e,ex :extstr; infile,outfile :file; fsize :longint; n :namestr; batfile :text; result :word; {***************************************************************************} begin if paramcount=0 then begin writeln('Usage : SPLIT <file to split> '); halt; end; assign(infile, paramstr(1) ); reset(infile, 1); fsize :=filesize(infile); fsplit(paramstr(1),d,n,ex); assign(batfile,d+'CREATE.BAT'); rewrite(batfile); repeat inc(extcount); str(extcount,e); if extcount >1 then begin writeln(batfile, 'COPY /B ',n,'.1',' + ',n,'.',e); writeln(batfile, 'DEL ',n,'.',e); end; assign(outfile,d+n+'.'+e); rewrite(outfile,1); repeat blockread(infile,buffer,bufsize,result); blockwrite(outfile,buffer,result); inc(count,result); until (count=fsize) or (count >=extcount*splitsize) or (result<>bufsize); close(outfile); until count=fsize; close(infile); writeln(batfile,'REN ',n,'.1',n,ex); close(batfile); end.