home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1995 November / PCWK1195.iso / inne / podstawy / dos / 4dos / 4uzytki / ez-btm11.exe / FILL.BTM < prev    next >
Text File  |  1992-09-05  |  3KB  |  97 lines

  1. @echo off
  2. :FILL.BTM
  3. : By Jeff Epler <bx304@CLEVELAND.FREENET.EDU>
  4. : Edited by Itamar Even-Zohar (B10@vm.tau.ac.il)
  5. : Last edited September 5, 1992
  6. :
  7. :   Allows sequential copying to diskettes, filling them to occupy
  8. :   maximum space. When there is no more room on the diskette, you
  9. :   are prompted to insert next diskette and select the next operation.
  10. :   The available operations are: copy, new copy, format, dir, and quit.
  11. :   If you select "format", you are then prompted to type the relevant
  12. :   format formula (depending on the type of the diskette and its drive).
  13. :   If you defined your format formula once, you are allowed later to
  14. :   either change or keep it.
  15. :------------------------------------------------------------------------
  16. :begin
  17. if not %@removable[%1] == 1 goto usage
  18.  
  19. setlocal
  20.  
  21. :copy
  22. set fs=%@diskfree[%1,b]
  23. *for %n in (%2&) do (
  24.  if %@filesize[%n,b] lt %fs (
  25.   Copy %n %1
  26.   set fs=%@diskfree[%1,b]
  27.  )
  28. )
  29. set left=0
  30. *for %n in (%2&) do set left=%@eval[%left+%@filesize[%n]]
  31. if %left == 0 (echo all files successfully copied.^goto end)
  32.  
  33. :choose
  34. echo There are %fs bytes left on %1
  35. echo.
  36. echo Insert next disk and press C to copy same filespec(s)
  37. echo                            N to start afresh (new filespec(s))
  38. echo                            F to format
  39. echo                            D to directory
  40. echo                            Q to quit
  41.  
  42. :ink
  43. inkey /k"cndfq" /w10 Your choice? %%choice
  44. if (%choice) == (c) goto copy
  45. if (%choice) == (n) goto newcopy
  46. if (%choice) == (f) goto format?
  47. if (%choice) == (d) dir %1 /p
  48. if (%choice) == (q) goto end
  49. if (%choice) == ()  (echos ^goto ink)
  50. goto choose
  51.  
  52. :format?
  53. iff "%@alias[fcmd]"=="" then
  54. goto define_format
  55. else
  56.   gosub formula
  57.   goto format
  58. endiff
  59.  
  60. :define_format
  61. echo Type your format command only (no drive!):
  62. echo   (for example: format /4; format /720)
  63. input %%fcmd
  64. alias fcmd=%fcmd
  65.  
  66. :format
  67. fcmd %1
  68. goto choose
  69.  
  70. :end
  71. echo.
  72. echo %0 terminated
  73. endlocal
  74. quit
  75.  
  76. :----------------Re-Start-----------------
  77. :newcopy
  78. echo Specify new drive and filespec(s)
  79. input  (syntax: x: filespec(s)): %%prms
  80. %0 %prms
  81. :-----------------Usage-------------------
  82. :usage
  83. echo Usage:
  84. echo   %0 x: filespec(s)
  85. echo.
  86. echo   x: must be a removable disk.
  87. quit
  88.  
  89. :==============SUB-ROUTINES===============
  90. :formula
  91. echo Your current format formula is "%fcmd".
  92. echo                    (C)hange, or (K)eep?
  93. inkey /K"CK" %%rep >nul
  94. iff %rep == C then goto define_format
  95. elseiff %rep == K then return
  96. endiff
  97.