home *** CD-ROM | disk | FTP | other *** search
/ Current Shareware 1994 January / SHAR194.ISO / dos_util / qcpy339a.zip / QUIKCOPY.DOC < prev    next >
Text File  |  1993-07-04  |  37KB  |  694 lines

  1.                                QUIKCOPY 3.34
  2.  
  3.                                      by
  4.  
  5.                                Roland Skinner
  6.  
  7.                              Copyright (c) 1993
  8.  
  9.                                 RJS Software
  10.  
  11.  
  12. QUIKCOPY is  a  utility  to  copy  one  or  more  files  (in  one  or  more
  13. subdirectories, to another drive  and/or  subdirectory),  or  one  or  more
  14. diskettes (to or from one or  more  other  diskettes  or  image-files),  as
  15. quickly as is possible. One can optionally move the files/subdirectories.
  16.  
  17. QUIKCOPY will not give up on  read-errors,  and  will  attempt  to  read  a
  18. damaged file/diskette until it succeeds. One may specify that QUIKCOPY will
  19. ignore an  error,  after  a  specified  number  of  retries,  when  copying
  20. diskettes.
  21.  
  22. QUIKCOPY utilizes all available memory in a system - Conventional, EMS  and
  23. XMS is supported - and uses memory extensively to improve copy-performance.
  24. When copying diskettes, QUIKCOPY may even  utilize  hard-disk  or  ram-disk
  25. space to improve copy-performance.
  26.  
  27. QUIKCOPY is one of a few utilities that allow one to lock  the  destination
  28. directory when copying subdirectories. This is useful  when  one  wants  to
  29. copy or move all files with a certain extension, e.g. "*.BAK", to a certain
  30. directory for deletion, viewing or other purposes.
  31.  
  32. QUIKCOPY also allows one to copy or move files to diskettes in such  a  way
  33. that the diskettes are maximally filled. This may prove useful when copying
  34. entire directories of files from a hard-disk to a diskette.
  35.  
  36. This is the nineteenth official public release of QUIKCOPY (v3.34).
  37.  
  38. QUIKCOPY started off as  a  small  utility  to  recover  damaged  files  on
  39. floppy-disks, when I still ran an XT, by repeatedly reading the sections of
  40. a damaged file until it succeeded, and then writing  it  to  another  disk.
  41. Since then,  it  was  realised  that  this  utility  could  be  useful  for
  42. general-purpose copying, and it was then that QUIKCOPY  started  developing
  43. into a "serious" utility. Now, QUIKCOPY can perform  both  file-copies  and
  44. diskette-copies.
  45.  
  46. The first "real" release of QUIKCOPY  was  v1.00.  This  version  supported
  47. conventional, EMS and XMS memory, and allowed one to copy  one  file  at  a
  48. time, and improved copy-performance for files of length 100k or more.
  49.  
  50. There was a small bug in v1.00 of QUIKCOPY, but a rather serious one! In  a
  51. line that calculated the position of a buffer in XMS memory,  the  compiler
  52. interpreted what should have been a  32-bit  integer  result  as  a  16-bit
  53. value, and thus the output was a corrupted  version  of  the  source!  This
  54. brought about v1.01.
  55.  
  56. A friend of mine, from Cape Town (SA), when visiting me, saw QUIKCOPY,  and
  57. pointed out that it would be very useful to the general user. I gave him  a
  58. "private" copy, which he took home with him. Six months later, when back in
  59. the Transvaal, he informed me that the people were going  "wild"  over  the
  60. utility,  and  this  prompted  me  release  the  new   version   into   the
  61. public-domain.
  62.  
  63. QUIKCOPY v2.00 was a much revamped version  of  QUIKCOPY,  which  maximized
  64. usage of memory, disk, etc. I had always  admired  the  features  of  DOS's
  65. XCOPY command, and decided to  implement  certain  of  its  features,  most
  66. notably, the copy-subdirectories option and the ability  to  copy  multiple
  67. files per "pass". This version also checks for situations such as disk-full
  68. errors, etc. which previous versions did not, and also that  one  does  not
  69. try to copy a file over itself, or go into cyclic copies (where one  copies
  70. a directory and its subdirectories to  one  of  its  subdirectories,  which
  71. becomes cyclic, and would never stop).
  72.  
  73. As from v2.10, QUIKCOPY supports write-protected  media  more  extensively,
  74. especially when moving files. QUIKCOPY will no longer try to write to  such
  75. such protected media, such as CD-Rom  or  floppy-disks  with  write-protect
  76. tabs.
  77.  
  78. As from release v2.20, QUIKCOPY uses an improved and much  faster  approach
  79. to moving files. If a file, or group of files, to be moved has  its  source
  80. location on the same drive as its destination, QUIKCOPY will move the  file
  81. without having to actually read the contents of  the  file!  QUIKCOPY  will
  82. also release time-slices at regular  intervals  for  improved  usage  under
  83. multitaskers, such as MS-Windows and DESQview.
  84.  
  85. Release v2.21 contained minor  bug-fixes.  With  the  introduction  of  the
  86. improved file-mover, a loss of functionality crept into QUIKCOPY. One could
  87. no longer cancel the file-movement process by pressing [Esc], etc. This was
  88. fixed   in   that   release.   Furthermore,   when    one    cancelled    a
  89. file-movement/-copying process, and asked to  continue  with  other  files,
  90. QUIKCOPY continually asked the  continue-question.  This  was  also  fixed.
  91. Finally, when one copied/moved files to a disk that became  full,  QUIKCOPY
  92. would sometimes leave files that could  not  be  copied/moved  successfully
  93. on the destination; these files had zero-length. This was also fixed.
  94.  
  95. As of v3.00, QUIKCOPY can also copy diskettes. QUIKCOPY  is  able  to  copy
  96. almost any diskette-format - including those created by utilities  such  as
  97. FDFORMAT and MAXIFORM. Note that QUIKCOPY is not designed to  copy  special
  98. copy-protection formats. QUIKCOPY does not require that a "diskette-reader"
  99. program be resident to in order for it to copy non-standard  formats  (such
  100. as 1.72M in 1.44M drive). If  necessary,  QUIKCOPY  will  even  format  the
  101. destination (or target) diskette; one may even  force  QUIKCOPY  to  format
  102. every destination  diskette.  QUIKCOPY  can  even  copy  diskettes  to/from
  103. image-files (files that contain the entire image of a diskette);  this  may
  104. be useful for sending diskettes across communication-lines.  One  may  also
  105. specify whether to verify after formatting, writing, or both, or  even  not
  106. at all. QUIKCOPY can make multiple (batch) copies of a single disk, and can
  107. also copy one or more different diskettes when  executed.  When  copying  a
  108. diskette, if there is insufficient memory to store an entire diskette-image
  109. in memory, QUIKCOPY will attempt to use hard-disk  or  ram-disk  space  for
  110. temporary storage; one may disable this feature. Note that QUIKCOPY  should
  111. be able to copy most diskettes  in  one  pass,  without  requiring  many  -
  112. usually  any  -  "diskette-swops".  QUIKCOPY  has  built  in  support   for
  113. disk-caches   that   cache   diskette-drives.   QUIKCOPY    will    disable
  114. diskette-caching temporarily  while  copying  diskettes.  This  is  due  to
  115. disk-caches often  undermining  a  program's  ability  to  detect  diskette
  116. changes,  etc.  Currently  QUIKCOPY  only  supports  HYPERDISK.   (If   one
  117. experiences problems with a  disk-cache  while  copying  diskettes,  please
  118. contact the author - see below.)
  119. As of release v3.00, a new "temporary environment-variable",  RJSTEMP,  has
  120. been added (see below).
  121. Release v3.00 included one slight bug-fix. When  moving  files  around  the
  122. same drive, QUIKCOPY would sometimes treat a subdirectory as a file and try
  123. to move it as a file; this was fixed.
  124.  
  125. Release v3.01 was a bug-fix release. With the introduction of  disk-copying
  126. and disk-cache support, a slight  loss  in  performance  was  lost  due  to
  127. disk-cache  manipulation,  when  it  was  not  required,  when  used   with
  128. write-back  caches.  QUIKCOPY  would  previously  flush  the  cache  before
  129. terminating; this was fixed. Also, earlier versions  of  QUIKCOPY  did  not
  130. correctly detect and report errors due to empty drives, and QUIKCOPY  would
  131. seem to terminate for no apparent  reason.  This  was  fixed.  Furthermore,
  132. QUIKCOPY now reports an error if an illegal drive name is specified.  These
  133. are drives such as CON:, PRN:, etc - before, QUIKCOPY would also  terminate
  134. for no apparent reason, or report the error "Cannot copy file over itself."
  135. when such drives were specified. Another error was with disk-copying to  an
  136. image-file. If a diskette was not completely copied to the image-file,  due
  137. to the user cancelling the copy, the partial image-file  was  not  deleted;
  138. QUIKCOPY now does so.
  139.  
  140. Release v3.02 was a bug-fix release. A rather serious error  was  found  in
  141. QUIKCOPY. QUIKCOPY would not copy 720K diskettes in 1.44M drives, and would
  142. respond with a message about it being unable  to  set  the  diskette-media.
  143. There are two different diskette-media settings for 720K diskettes in 1.44M
  144. drives. Firstly there is a high-density (18 sectors per track) format  with
  145. 40 sectors, and a low-density (9 sectors per track) format with 80 sectors.
  146. QUIKCOPY was using the opposite  media  setting  for  these  two  different
  147. diskettes; this has been fixed.
  148.  
  149. Release v3.03 was a private  release.  This  version  was  an  intermediate
  150. release between v3.02 and v3.10. It  improved  the  diskette-media  setting
  151. ability of QUIKCOPY, and also restored the old diskette-media  settings  on
  152. completion  of  QUIKCOPY.  Sometimes,  when  QUIKCOPY  could  not   set   a
  153. diskette-media setting, the corresponding diskette-drive  became  unusable.
  154. The restoration of these settings fixes this. Also,  two  new  file-copying
  155. features made their introduction. QUIKCOPY will now copy hidden and  system
  156. files or directories, when  the  option  "/A"  is  specified.  Furthermore,
  157. QUIKCOPY will also copy empty subdirectories, when "/E" is specified. As of
  158. v3.03, QUIKCOPY when copying subdirectories will use the same  subdirectory
  159. attributes  (read-only,  hidden,   system,   etc.)   when   creating   such
  160. subdirectories.
  161.  
  162. Release v3.10 introduced the ability to ignore read or  write  errors  when
  163. copying to or from bad  diskettes.  By  adding  the  option  "/I"  with  an
  164. optional number (from 1 to 100), one may specify that QUIKCOPY will  ignore
  165. an error if it could not be correcting after a certain number  of  retries.
  166. QUIKCOPY will report a warning when a diskette  is  copied  that  contained
  167. such errors. This release was also the public release of the features added
  168. in v3.03.
  169.  
  170. Release v3.11 was a bug-fix release. It only  contained  one  bug-fix,  but
  171. this was rather a serious error that it warranted an entire release to  fix
  172. it. In v3.10, with  the  introduction  of  improved  subdirectory  copying,
  173. QUIKCOPY sets subdirectories it creates to the same attributes the original
  174. subdirectories had. This would sometimes lead to errors when  the  original
  175. subdirectories did not have any special attributes. QUIKCOPY  would  appear
  176. to have hung, since it was trying to set these attributes. This was fixed.
  177.  
  178. Release v3.12, was a bug-fix release. When a  source  or  destination  path
  179. that did not exist, while copying  files,  was  specified,  QUIKCOPY  would
  180. sometimes appear to crash. QUIKCOPY now reports an error with  such  paths.
  181. Also, QUIKCOPY would appear to have hung when copying  subdirectories  when
  182. the path-name of a subdirectory  was  too  long  (maximum  64  characters).
  183. QUIKCOPY now reports an error in such circumstances, and skip the files  in
  184. these directories.
  185.  
  186. Version v3.13 was  a  bug-fix  release.  With  the  introduction  of  extra
  187. for  source  and  destination  path  existence,  QUIKCOPY  also  lost  some
  188. functionality. When copying from a different drive, whose current directory
  189. was not the root, QUIKCOPY would report an invalid source path.  A  similar
  190. problem would have occurred with destination paths. This was fixed.
  191.  
  192. Release v3.20  introduced  two  new  features  to  QUIKCOPY's  file-copying
  193. abilities. Firstly, and probably more useful, is the ability  to  lock  the
  194. destination directory when copying subdirectories. This  may  prove  useful
  195. when copying (or moving) all files of a certain kind, e.g.  "*.BAK",  to  a
  196. specific directory for later deletion, viewing, etc. Adding the "/L" option
  197. when  copying  subdirectories  enables  this  feature.   Furthermore,   the
  198. introduction of a delay when copying (or moving) files was made.  This  may
  199. prove useful when moving  files  or  copying  many  small  files  when  the
  200. copying/moving process is too fast (?) for  human  perception.  Adding  the
  201. "/DELAY" option invokes this feature.
  202.  
  203. Release v3.21 was a bug-fix release. An error would occur when  copying  to
  204. or from a disk's root-directory when it was referred to as "..".  This  was
  205. fixed.
  206.  
  207. Release v3.22 was a bug-fix release. When copying or moving files,  and  an
  208. error or user-cancellation occurred while copying  the  last  (and  usually
  209. only) file in a batch of files, QUIKCOPY would constantly try to copy  that
  210. last file. This was fixed.
  211.  
  212. Release v3.30 introduced maximal diskette filling when  copying  or  moving
  213. files  onto  diskette.  QUIKCOPY  calculates  the   optimal   diskette-fill
  214. combination in memory, and then writes the files to the diskette.
  215.  
  216. Release v3.31, was a cosmetic release. A more  user-friendly  "more-prompt"
  217. on the help screen was added. Also, the  maximal-fill  selection  algorithm
  218. was improved to increase speed.
  219.  
  220. Release v3.32, was a bug-fix release.  The  faster  maximal-fill  algorithm
  221. implemented in v3.31 had a slight calculation  error  in  it.  This  caused
  222. QUIKCOPY to actually calculate a non-optimal selection of files to  fill  a
  223. particular diskette. This has been fixed. QUIKCOPY will now run on  systems
  224. equipped with DOS v3.20 or above - no longer v4.00 or above. A few cosmetic
  225. changes were also implemented in QUIKCOPY. QUIKCOPY turns  off  the  cursor
  226. during copying. When prompting the user, the cursor is made visible.
  227.  
  228. Release v3.33 was a maintenance release. Since v3.33, QUIKCOPY has  support
  229. for Microsoft's SmartDrive v4.00 (or above). QUIKCOPY also now flushes  the
  230. cache when filling diskettes, before asking for the next diskette.
  231.  
  232. This  release,  v3.34,  is  a  bug-fix  release.  When  cache-flushing  was
  233. introduced during diskette-filling, with v3.33, QUIKCOPY was  not  flushing
  234. HYPERDISK. This has been fixed.
  235.  
  236. Note that versions v2.00 through v3.31 of QUIKCOPY required  DOS  v4.00  or
  237. above. As of v3.32, QUIKCOPY requires DOS v3.20  or  above.  As  of  v3.32,
  238. QUIKCOPY will also run under DR DOS. QUIKCOPY also requires  EMS  v4.00  or
  239. above, if run on a system equipped with an EMS manager.
  240.  
  241. The following are some of the features of QUIKCOPY:
  242.  
  243.    *  Copy files/diskettes very quickly.
  244.    *  Copy multiple files per "pass".
  245.    *  Make a batch-copy of a diskette.
  246.    *  Single-pass diskette copying.
  247.    *  Maximize usage of available memory, resulting in faster through-put.
  248.    *  Ability to  copy  subdirectories  (a  la  XCOPY)  -  including  empty
  249.       subdirectories.
  250.    *  Ability to lock destination directory when copying subdirectories.
  251.    *  Ability to maximally fill diskettes with a subdirectory's files.
  252.    *  Ability to move files, and their subdirectories.
  253.    *  Provision for slowing down QUIKCOPY, when it is too fast (?).
  254.    *  Read files/diskettes until successful.
  255.    *  Copy almost any diskette-format.
  256.    *  Copy diskettes to/from image-files.
  257.    *  Can format or verify destination diskettes.
  258.    *  Use hard-disk or ram-disk space when necessary in copying diskettes.
  259.    *  Allow user to  cancel  copy-process  at  any  point,  with  a  single
  260.       key-stroke.
  261.    *  Fast file-moves on same drive.
  262.    *  Copy/move hidden or system files and subdirectories.
  263.    *  Ignore diskette-copying errors after specified number of retries.
  264.    *  Multitasker friendly, especially with MS-Windows and DESQview.
  265.    *  Built-in support for disk-caches when copying diskettes.
  266.  
  267. The format for executing QUIKCOPY is:
  268.  
  269.       QUIKCOPY [[d:][path]source [[d:][path]destination]
  270.                 [[<</S | /E> [/L]> | /F] [/M] [/A] [/DELAY[:ms]]
  271.                 ] | [/D [/M<+|->] [/B] [/F] [/V<F|W|A|N>] [/N] [/I[:num]]]
  272.                ] | [/HELP | /?]
  273.  
  274. To get help,  one  may  use  the  option  "/HELP"  or  "/?"  alone  on  the
  275. command-line. The help is scrollable. A more-prompt will appear  when  more
  276. help is available. From here, pressing "Y" or ENTER one can scroll the help
  277. up one line. Pressing SPACE will scroll up one screen. Pressing "N", ESC or
  278. CTRL-BREAK will cancel the help and terminate QUIKCOPY.
  279.  
  280. To copy/move a file (or batch of files), one  must  at  least  specify  the
  281. the source-files, i.e. "[d:][path]source", where "[d:][path]" are  optional
  282. and specify the drive and directory to copy from, and "source" denotes  the
  283. file(s) to be copied. Wildcards are allowed.  One  may  optionally  specify
  284. the destination, "[d:][path]destination", to copy to (a similar  format  to
  285. the specifying the source).
  286.  
  287. When copying files, to copy all subdirectories, with files that  match  the
  288. source-criterian, add the "/S"  option.  All  subdirectories  that  contain
  289. files that match  this  criterian  will  be  created  if  necessary.  Empty
  290. subdirectories can be copied by using "/E" instead of "/S".
  291.  
  292. When copying files, to move files, one can add the "/M" option. This option
  293. can be used together with the "/S" or "/E" options, which could  result  in
  294. subdirectories being moved as well. Note that when moving subdirectories, a
  295. subdirectory will only be moved when it is "safe" to do  so,  otherwise  it
  296. will just be copied across (but its files will be moved).
  297.  
  298. When copying files  in  subdirectories,  "/L"  may  be  used  to  lock  the
  299. destination subdirectory. Using this option without  either  "/S"  or  "/E"
  300. will cause  an  error.  All  files  will  be  copied/moved  to  the  locked
  301. destination directory.
  302.  
  303. When copying or moving files to a diskette, one may use the "/F" option  to
  304. maximally fill the diskette with files from the source directory.  QUIKCOPY
  305. will fill a diskette, and if another diskette is required, prompt the  user
  306. to insert a new diskette. That diskette will then be filled.  This  process
  307. continues until all source files are written to  diskette.  Note  that  the
  308. user may cancel the file  copying  or  movement  process  at  any  time  by
  309. pressing ESC or  CTRL-BREAK,  including  when  being  prompted  for  a  new
  310. diskette. It may become necessary to cancel this process when one  or  more
  311. of the files to be copied is larger than the size  of  the  diskette.  Note
  312. that QUIKCOPY will only allow filling of diskettes. Note also that the "/F"
  313. option may not be used when copying subdirectories ("/S" or "/E").
  314.  
  315. When copying files, one  may  use  the  "/A"  option  to  copy  all  files,
  316. including hidden and system files. This option  also  allows  one  to  copy
  317. hidden or system subdirectories, when used  in  conjunction  with  "/S"  or
  318. "/E".
  319.  
  320. When copying files, the copying or moving process may be too fast for one's
  321. liking. Provision has been made for a delay to occur  after  completion  of
  322. each file. By adding the  "/DELAY"  option  with  an  optional  millisecond
  323. count, "ms", one invokes this ability. A delay of  "ms"  milliseconds  will
  324. occur after each  file  move/copy  has  been  completed.  If  "ms"  is  not
  325. specified, a default delay of 500ms will be used. The delay, if  specified,
  326. must be in the range 1 to 1000ms (or 1/1000th to 1 second).
  327.  
  328. To copy a one or more diskettes, one must use the "/D"  option,  along  and
  329. specify a source image-file or diskette, i.e. "[d:][path]source".  One  may
  330. optionally specify a destination,  i.e.  "[d:][path]destination"  -  if  no
  331. destination is specified, QUIKCOPY will use  the  same  drive/file  as  the
  332. source for the destination. Note that QUIKCOPY will determine  whether  the
  333. specified source/destination is a diskette or image-file. Note that one may
  334. not use a removable (floppy, etc.) drive to store an image-file.
  335.  
  336. The "/M+" option, which is the default, when copying  diskettes,  specifies
  337. that one or more diskettes may be copied. The "/M-" option  specifies  that
  338. only one diskette should be copied.
  339.  
  340. The "/B" option, when copying diskettes, is used to specify that more  than
  341. one target diskette should be made from a single source diskette; thus  one
  342. may make a batch of diskettes from one diskette.
  343.  
  344. The "/F" option should be used when copying diskettes when one  wants  each
  345. target diskette to be formatted, regardless of whether or not it needed  to
  346. formatted.
  347.  
  348. The "/VF" option, which is the default, when copying  diskettes,  specifies
  349. that QUIKCOPY should perform a verify after each format. The  "/VW"  option
  350. specifies that a verify should be done after each write. The  "/VA"  option
  351. will cause QUIKCOPY to verify always, i.e. after both formats  and  writes.
  352. The "/VN" option may be used if one does not expect any  diskette  defects;
  353. no verification will be performed at all. Note  that  verifying  does  slow
  354. the copying process down, but it does provide a  sense  of  security  about
  355. one's data on the target diskette. One should choose the balance that would
  356. provide a good overall performance. The default "/VF" option should give  a
  357. good overall balance between performance and data-security, but if one does
  358. feel data-security if of utmost concern, use the "/VA" option.
  359.  
  360. The "/N" option can be  used,  when  copying  diskettes,  to  specify  that
  361. QUIKCOPY does not attempt to use hard-disk or ram-disk space when copying a
  362. diskette (if necessary). This option may also be used if problems  seem  to
  363. arise when a hard-disk or ram-disk is obviously being used. Note  that  one
  364. may run into problems on STACKERed (or similar) hard-disks when  disk-space
  365. is being used, and that disk-space eventually becomes too small for storage
  366. purposes. Note that the "temporary  environment-variable"  specifies  where
  367. QUIKCOPY will attempt to use disk-space (see below).
  368.  
  369. When copying diskettes, the  "/I"  option  can  be  used  to  specify  that
  370. QUIKCOPY ignore read or write errors after a  certain  number  of  retries.
  371. QUIKCOPY has a default setting of 3, which is used if "/I" is specified  on
  372. its own. Otherwise, if "/I:num" is specified, where "num" is a number  from
  373. 1 to 100, then QUIKCOPY will retry "num"  times  before  ignoring  such  an
  374. error. This is especially useful for copying bad  diskettes  that  QUIKCOPY
  375. will probably have no chance of recovering  the  lost  data,  or  that  are
  376. "just plain bad". Note that the actual  number  of  retries  QUIKCOPY  will
  377. perform are three times the number specified, i.e.
  378.                          Total_Retries = 3 * num.
  379. QUIKCOPY will report a  message  after  copying  a  diskette  that  it  had
  380. problems with during the copy-process, for which the errors  were  ignored.
  381. Such diskettes may be potentially unusable.
  382.  
  383. During the copy/move  process,  the  user  may  interrupt  the  process  by
  384. pressing [Esc], [Ctrl-Break], or [Ctrl-C]. This may be useful when QUIKCOPY
  385. has been taking too long to attempt to copy a damaged file/diskette  -  the
  386. "Abort, Ignore,  Retry,  Fail"  message  is  not  displayed  while  running
  387. QUIKCOPY. After pressing one of these keys, a  message  indicating  that  a
  388. certain file/diskette was not copied (because the user cancelled  it)  will
  389. be displayed, and will ask whether to continue with the rest. Pressing  [Y]
  390. will continue, otherwise pressing  [Enter],  [Esc],  [N],  [Ctrl-Break]  or
  391. [Ctrl-C] will stop the copying-process.
  392.  
  393. The above message may also appear when some sort of error arises, e.g. disk
  394. full. The same response will then be required.
  395.  
  396. Note that QUIKCOPY will not try to copy  over  files  that  are  marked  as
  397. hidden, system or read-only. If one wants to overwrite such files, then one
  398. should first change their attributes with ATTRIB or some similar utility.
  399.  
  400. QUIKCOPY will also not attempt to overwrite write-protected diskettes,  and
  401. report an error when this event occurs.
  402.  
  403. QUIKCOPY will not copy hidden or system files, unless the  "/A"  option  is
  404. used, but will copy read-only files. Note that the attributes of a file are
  405. preserved during a copy (this includes moving a file). When moving a  file,
  406. QUIKCOPY will remove a file marked as read-only from  its  source-location,
  407. after moving it.
  408.  
  409. QUIKCOPY utilizes a file-manager that allows more than one file to be  open
  410. at once, this manager will create a temporary file, which it uses to ensure
  411. that a file can always be opened. This file will be deleted on  termination
  412. on the program. When copying diskettes, and disk-space gets used,  QUIKCOPY
  413. will also create a temporary file containing image-data. These  files  will
  414. be stored in one of four locations. Initially,  QUIKCOPY  will  attempt  to
  415. store the files in  the  directory  denoted  by  the  environment  variable
  416. "RJSTEMP" (introduced in v3.00). If this variable or the denoted  directory
  417. does not exist, QUIKCOPY will use  the  directory  denoted  by  environment
  418. variable "TEMP". This directory is usually set by DOS, MS-Windows, or other
  419. programs to denote the directory in which to store  temporary  information.
  420. If QUIKCOPY cannot find or there is no such setting, QUIKCOPY will  try  to
  421. use the directory denoted by  the  variable  "TMP".  If  neither  of  these
  422. variables are set in the environment, the temporary file will be stored  in
  423. the current directory. One may set such a variable by adding
  424.  
  425.                              SET RJSTEMP=d:path
  426.  
  427.                                      or
  428.  
  429.                               SET TEMP=d:path
  430.  
  431.                                      or
  432.  
  433.                                SET TMP=d:path
  434.  
  435. to one's AUTOEXEC.BAT file, where "d:path" is the  location  in  which  one
  436. wishes temporary files to be stored.  It  may  prove  useful  to  set  this
  437. location to that of a ram-disk, if one exists and it is sufficiently  large
  438. enough; sufficiently large to store a diskette-image; around 1.5M  to  2.0M
  439. should suffice.
  440.  
  441. A common problem that may arise is  that  QUIKCOPY  cannot  initialize  the
  442. file-manager. This occurs when none of the environment variables  discussed
  443. above have been set, and the current directory is  on  a  read-only  drive,
  444. such as a CD-Rom or a write-protected floppy-disk. The following error will
  445. be displayed:
  446.  
  447.                   ERROR - Could not install file manager!
  448.  
  449. One may correct this by adding one of the  environment  settings  described
  450. above to one's AUTOEXEC.BAT file.
  451.  
  452. I hope that users of QUIKCOPY will find it useful.
  453.  
  454. Roland Skinner
  455.  
  456. ---------------------------------------------------------------------------
  457.  
  458. QUIKCOPY is NOT a free program. It has been released into the public-domain
  459. so that users that who find it useful, or who have  the  need  for  such  a
  460. utility, may acquire and test such a program.
  461.  
  462. QUIKCOPY has not been disabled in any way in the public domain version.  It
  463. just contains a message that reflects that it is  not  free,  and  must  be
  464. registered. One is granted a  14  day  period  in  which  to  evaluate  the
  465. suitability of QUIKCOPY to one's use.
  466.  
  467. One may register QUIKCOPY by sending a fee of R25 to the address below,  if
  468. you are a resident of South Africa, or  one  of  its  neighbouring  states.
  469. Users outside of South Africa, who wish to register, may do so  by  sending
  470. $20 US to the address below. (A registration form  is  included  with  this
  471. program.)
  472.  
  473. Registered users will receive the latest version of QUIKCOPY,  without  the
  474. unregistered message. After registering, one may upgrade to the  next  five
  475. versions of QUIKCOPY for free,  and  there-after  one  is  entitled  to  an
  476. upgrade price of R10 or $10 US. Registered users will also receive a unique
  477. serial-number that they must quote on all correspondence  after  they  have
  478. received their registered version of QUIKCOPY.
  479.  
  480. ---------------------------------------------------------------------------
  481.  
  482.                                  DISCLAIMER
  483.  
  484. QUIKCOPY is provided as is. It has been tested extensively, and has  proven
  485. to fulfill the task it has been designed to do. The author or  RJS Software
  486. do not accept any responsibility for damage that may be incurred out of the
  487. use of, or abuse of, the features provided by this program.
  488.  
  489. This program may not be modified, reverse-engineered, hacked (!!!), etc. in
  490. any way whatsoever. It may not be sold for profit  by  any  party,  without
  491. prior written permission from the author, Roland Skinner, and RJS Software.
  492.  
  493. The unregistered version may not be distributed without this documentation,
  494. (QUIKCOPY.DOC) or the order-form (QUIKCOPY.ORD).
  495.  
  496. This program does perform  an  integrity  check  on  execution.  "Modified"
  497. versions could have disastrous effects on a system  -  BE  WARNED!  Do  not
  498. attempt to compress this file, in executable form, using programs  such  as
  499. LZEXE or PKLITE.
  500.  
  501. People using QUIKCOPY have a 14 day evaluation period in which to  use  the
  502. unregistered version. People using QUIKCOPY  in  a  commercial  environment
  503. must register QUIKCOPY in order to use it. (Cheaper rates are available for
  504. registering multiple copies of QUIKCOPY; contact the author or RJS Software
  505. for more information.)
  506.  
  507. By having read this, one agrees to abide by the above. By using the program
  508. one acknowledges having read this file, and agree to the clauses above.
  509.  
  510. ---------------------------------------------------------------------------
  511.  
  512. History of QUIKCOPY
  513.  
  514. -  v1.00 Private release.
  515.          Uses conventional, EMS and XMS memory. Can only copy one file  per
  516.          pass. Quick with large files.
  517. -  v1.01 Private release.
  518.          Corrected error with multiplication for XMS memory.
  519. -  v2.00 Public release.
  520.          First official public release.
  521.          Maximal usage of available memory. Multiple files copied per pass.
  522.          Ability to copy subdirectories. Ability to move files.
  523. -  v2.10 Public release.
  524.          Added more information to the documentation. QUIKCOPY now has more
  525.          support for write-protected media (CD-Rom, etc.).
  526. -  v2.20 Public release.
  527.          Corrected error with XMS memory when running under  MS-Windows  in
  528.          386 Enhanced mode and under DESQview/X.  (Note,  running  Real  or
  529.          Standard mode MS-Windows did not  cause  the  error.)  This  error
  530.          occurred due to the two operating systems providing  XMS  as  both
  531.          real and/or virtual memory, and reporting this memory as available
  532.          XMS memory, when it wasn't!
  533.          Improved checks so that one does not attempt to write one or  more
  534.          more files over themselves.
  535.          QUIKCOPY is now more MS-Windows and DESQview "friendly".
  536.          Improved file-moves when moving files around same drive.
  537. -  v2.21 Public release.
  538.          Minor bug-fixes.
  539.          Corrected loss of functionality introduced with new file-mover  of
  540.          v2.20.
  541.          Ensure that zero-length files are not left behind when destination
  542.          becomes full.
  543.          Corrected  error  where  question  to   continue   copying   would
  544.          continually be displayed if user had cancelled process  once,  and
  545.          opted to continue.
  546.          (See documentation above for more details.)
  547. -  v3.00 Public release.
  548.          Introduction of diskette-copying  ability,  to  and/or  from  both
  549.          diskettes and image-files.
  550.          Corrected bug which treated certain subdirectories as  files  when
  551.          moving files and their subdirectories.
  552. -  v3.01 Public release.
  553.          Minor bug-fixes.
  554.          Regained performance lost with file-copying - related to  flushing
  555.          of write-back caches.
  556.          Partial image-files are deleted.
  557.          Detection of empty drives when copying files.
  558.          Now reports error when illegal drives (e.g. NUL:) are specified.
  559.          (See documentation above for more details.)
  560. -  v3.02 Public release.
  561.          Bug-fix release.
  562.          Corrected problem with diskette-media settings when  copying  720K
  563.          diskette in 1.44M drive.
  564. -  v3.03 Private (intermediate) release.
  565.          Improved diskette-media setting.
  566.          Added ability to copy any attribute file or subdirectory.
  567.          Added ability to copy all subdirectories, including empty ones.
  568. -  v3.10 Public release.
  569.          Public release of features introduced with v3.03.
  570.          Added ability to ignore read and write  errors  when  copying  bad
  571.          diskettes.
  572. -  v3.11 Public release.
  573.          Bug-fix release.
  574.          Corrected problem with QUIKCOPY apparently hanging sometimes  when
  575.          copying subdirectories.
  576. -  v3.12 Public release.
  577.          Bug-fix release.
  578.          Corrected problem with "too long" paths.
  579.          Improved check on validity of source and destination.
  580. -  v3.13 Public release.
  581.          Bug-fix release.
  582.          Fixed problem with validity check of  source  and  destination  of
  583.          v3.12.
  584. -  v3.20 Public release.
  585.          Introduction of "lock destination directory" feature, when copying
  586.          subdirectories.
  587.          Introduction of delay feature to slow down QUIKCOPY, when desired.
  588. -  v3.21 Public release.
  589.          Bug-fix release.
  590.          Fixed problem with root-directories when referenced as "..".
  591. -  v3.22 Public release.
  592.          Bug-fix release.
  593.          Fixed problem that arose if error occurred when copying last  file
  594.          in a batch of files.
  595. -  v3.30 Public release.
  596.          Introduction of diskette maximal filling.
  597. -  v3.31 Public release.
  598.          Cosmetic release.
  599.          More user-friendly more-prompt.
  600.          Improved maximal-fill algorithm.
  601. -  v3.32 Public release.
  602.          Bug-fix release.
  603.          Fixed calculation error in maximal-fill algorithm.
  604.          Cursor turned off during copying.
  605.          Support for DOS 3.20 to 3.XX added, and DR DOS.
  606. -  v3.33 Public release.
  607.          Maintenance release.
  608.          Added support for SmartDrive v4.00+.
  609.          Added cache flushing when filling diskettes.
  610. -  v3.34 Public release.
  611.          Bug-fix release.
  612.          Fixed non-flushing problem with HYPERDISK.
  613.  
  614. ---------------------------------------------------------------------------
  615.  
  616.                                   THANK YOU
  617.  
  618. I would like to thank the following people:
  619.  
  620. -  Rodin van der Laan
  621.  
  622.    Request for a file move facility.
  623.    Reporting problem under MS-Windows  (Enhanced  mode)  and  DESQview/X  -
  624.    turned out to be problem with XMS memory.
  625.    Reporting problem with empty diskette drives.
  626.  
  627. -  Ian Gerada
  628.  
  629.    Pointing out the error that could be  reported  when  the  file  manager
  630.    could not be installed; the documentation now describes how  to  correct
  631.    this situation.
  632.    Same error that occurs when running on a Novell Network - this error  is
  633.    still being investigated; if anyone else experiences a similar error  on
  634.    a network, especially Novell, could you please contact the author.
  635.  
  636. -  Ywain Penberthy, Dale Winterstein, David Herselman
  637.  
  638.    Asking (in that order) for the ability to copy diskettes.
  639.  
  640. -  Ywain Penberthy
  641.  
  642.    Asking for the ability to copy  (or  move)  any  file  or  subdirectory,
  643.    including those with hidden and system attributes.
  644.    Request for copying of empty subdirectories.
  645.    Reporting problem with QUIKCOPY apparently hanging.
  646.  
  647. -  Chris Penberthy
  648.  
  649.    Asking for a delay feature to slow QUIKCOPY down, when required.
  650.  
  651. -  Iain Forfar
  652.  
  653.    Requesting more cosmetically user-friendly more-prompt on help-screen.
  654.    Request for cursor to be off during copying/moving.
  655.  
  656. -  Roger Crossley
  657.  
  658.    Asking for QUIKCOPY to run under DOS  v3.30.  QUIKCOPY  now  runs  under
  659.    DOS 3.20 or above.
  660.  
  661. -  Frank Starr
  662.  
  663.    Reporting that QUIKCOPY v3.21 did not work with DR  DOS.  As  of  v3.32,
  664.    QUIKCOPY supports DR DOS.
  665.  
  666. ---------------------------------------------------------------------------
  667.  
  668. Any correspondence may be forwarded to the address below.
  669.  
  670. Send your recommendations, bug-reports, requests,  registrations,  etc.  to
  671. Roland Skinner, or RJS Software, at:
  672.  
  673.                            P.O. Box 14134
  674.                            Bredell
  675.                            1623
  676.                            Republic of South Africa
  677.  
  678. The above address is not a residential address; only a box number.
  679.  
  680. Anybody who is the first to recommend a feature  that  is  later  added  to
  681. QUIKCOPY, or is the first to report an error in  the  working  of  QUIKCOPY,
  682. will have his/her name added to the THANK YOU section of this document.
  683.  
  684. Users requesting faster replies, etc. may send an Email message  to  Roland
  685. Skinner on one of the echomail conferences in South  Africa  -  I recommend
  686. "RsaSOFT" - or (preferably) netmail me. My personal Email addresses are:
  687.  
  688.   FIDONET:    Roland Skinner @ 5:7101/55.1
  689.   InterNet:   roland.skinner@p1.f55.n7101.z5.fidonet.org
  690.               roland@concave.cs.wits.ac.za
  691.  
  692. Roland Skinner
  693.  
  694.