home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / database / miscdb2.zip / SUPERBAK.CMD < prev   
OS/2 REXX Batch file  |  1987-02-14  |  3KB  |  104 lines

  1. * backup and restore utility
  2. ERASE
  3. INPUT "DO YOU WISH TO BACKUP (1) OR RESTORE (2)" TO CHOICE
  4. SET talk OFF
  5. STORE 1 TO begin,piece,temp,length
  6. STORE " " TO block
  7. STORE "           " TO infile,outfile
  8. ACCEPT "ENTER SOURCE DRIVE" TO source
  9. ACCEPT "ENTER DESTINATION DRIVE" TO destin
  10. SET DEFAULT TO &source
  11. DO CASE
  12.   CASE choice = 1
  13.     * hard disk backup routine for dbf files
  14.     STORE t TO check
  15.     DO WHILE check
  16.       ACCEPT "ENTER FILE NAME (RETURN TO EXIT)" TO filename
  17.       IF filename= " "
  18.         ERASE
  19.         RETURN
  20.       ENDIF filename= " "
  21.       IF .not. FILE( "&FILENAME" )
  22.         ERASE
  23.         ? "FILE NOT FOUND PLEASE RE-ENTER" 
  24.         ?? chr(7)
  25.       ELSE
  26.         STORE f TO check
  27.       ENDIF .not. FILES
  28.     ENDDO WHILE check
  29.     INPUT "ENTER DISKETTE SIZE (IN THOUSANDS)" TO disksize
  30.     INPUT "ENTER CHARACTORS PER RECORD " TO recsize
  31.     STORE (disksize*1000)/recsize TO temp
  32.     STORE trim(str(temp,6)) TO block
  33.     STORE source + ":" + filename TO infile
  34.     USE &infile
  35.     DO WHILE .not. eof
  36.       ? "         INSERT DISKETTE " + str(piece,1) + " INTO DRIVE " + destin
  37.       WAIT
  38.       RESET
  39.       ERASE
  40.       USE &infile
  41.       GO begin
  42.       STORE filename + "." + str(piece,1) TO outfile
  43.       STORE destin + ":" + trim(outfile) TO outfile
  44.       ? "            NOW COPYING" 
  45.       SET talk ON
  46.       COPY next &block TO &outfile
  47.       SET talk OFF
  48.       STORE piece+1 TO piece
  49.       STORE # + 1 TO begin
  50.       RESET
  51.     ENDDO WHILE .not. eof
  52.   CASE choice = 2
  53.     * hard disk restore routine
  54.     ERASE
  55.     ACCEPT "ENTER FILE NAME OF FILE RESTORING FROM " TO filename
  56.     STORE 1 TO COUNT
  57.     STORE t TO RESTORE
  58.     DO WHILE RESTORE
  59.       ERASE
  60.       STORE filename + "." + str(COUNT,1) TO infile
  61.       STORE t TO disk:chk
  62.       DO WHILE DISK:CHK
  63.         IF FILE( "&INFILE" )
  64.           STORE f TO disk:chk
  65.         ELSE
  66.           ERASE
  67.           ?? chr(7)
  68.           ? "FILE NOT FOUND PLEASE RE-ENTER"
  69.           ?? "LOOKING FOR "
  70.           ? "              "+infile
  71.           WAIT
  72.           RESET
  73.         ENDIF .not. FILES
  74.       ENDDO disk:chk
  75.       STORE destin + ":" + filename TO outfile
  76.       IF COUNT=1
  77.         USE &infile
  78.         ERASE
  79.         ?  "COPYING FIRST BACK-UP DISK IN"
  80.         SET TALK ON
  81.         COPY TO &outfile
  82.         SET TALK OFF
  83.       ELSE
  84.         USE &outfile
  85.         SET TALK ON
  86.         ERASE
  87.         ?  "APPENDING TO FILE..."
  88.         APPEND FROM &infile
  89.         SET TALK OFF
  90.       ENDIF COUNT=1
  91.       ACCEPT "DO YOU HAVE ANY MORE DISKS TO RESTORE FROM (Y/N)? " TO more
  92.       IF more= 'N' 
  93.         STORE f TO RESTORE 
  94.         LOOP
  95.       ENDIF more= 'N' 
  96.       USE
  97.       STORE COUNT+1 TO COUNT
  98.       ? "INSERT  DISK  " +str(COUNT,1)
  99.       WAIT
  100.       RESET
  101.     ENDDO WHILE RESTORE 
  102. ENDCASE 
  103. RETURN
  104.