home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / BEEHIVE / ZSUS / Z3HELP-6.LBR / ZA.LBR / ZCOPY1.HZP / ZCOPY1.HLP
Text File  |  2000-06-30  |  14KB  |  357 lines

  1. ;
  2.  
  3.                        ZCOPY vs 2.1 and ZERA vs 1.1  
  4.                             
  5.                             by Richard Brewster
  6.                                   8/25/88 
  7.                     Usage                         Options
  8.           A -  Purpose                   E -  Query           
  9.           B -  Source Filespecs          F -  Add/Replace     
  10.           C -  Destination               G -  No Sort         
  11.           D -  Flags                     H -  Indirect Input  
  12.      
  13.                                Miscellaneous
  14.                    I -  Copy Buffer                 
  15.                    J -  Aborting ZCOPY              
  16.                    K -  Patching ZCOPY               
  17.                    L -  Maximum Files per Filespec  
  18. :a
  19.  
  20.  
  21. Purpose:
  22.  
  23.    The purpose of  ZCOPY is to copy  a set of files from selected locations to 
  24. one  destination  drive/user - quickly!   It doesn't  rename,  it doesn't send 
  25. files  to logical devices,  it doesn't concatenate,  it performs no transform-
  26. ation of  any kind  on  the  file  being copied,  and  it  doesn't waste  time
  27. verifying.   The command line  arguments  to  ZCOPY  fall  into  three  simple 
  28. categories:  source filespecs,  destination, and flags.   These do not have to 
  29. be in  any special order  on the command line,  so you can  use whatever order 
  30. feels right to you.
  31. :b
  32.  
  33. SOURCE FILESPECS (similar for both ZCOPY and ZERA):
  34.  
  35.    ZCOPY takes a filespec list of  as many source filespecs as  you can fit on
  36. the command line, and more.
  37.  
  38. Example:
  39.  
  40.      ZCOPY B:TEST 12:HELP HELP2 D:HELP.COM C*:LAST.ONE
  41.  
  42. will take B(current user):TEST, B12:HELP, B12:HELP2, D12:HELP.COM, will search
  43. all user areas on C: for LAST.ONE,  and copy  all these  files  to the current 
  44. drive and  user.   Notice  that each  drive or user spec down the list sets  a 
  45. default for those that follow, so that you don't have to retype it.
  46.  
  47.  
  48. SOURCE FILESPECS (continued):
  49.  
  50.    Copying is always from one drive/user to another.   If a Read/Write file of 
  51. the same name exists in the destination drive/user,  it will  be erased before 
  52. the copy operation begins, and you will see the message
  53.  
  54.       Replacing <filename>
  55.   
  56.    If such an existing file is Read/Only, this will be indicated, and you will 
  57. be prompted before the file is replaced.
  58.  
  59.    If the  destination drive  and user  happens  to be the same  as one of the 
  60. source filespecs, ZCOPY will say
  61.  
  62.       Not copying <filespec>
  63.  
  64. and just skip to the next filespec.
  65.  
  66.  
  67. SOURCE FILESPECS (continued):
  68.  
  69.    ZCOPY checks each filespec for validity as a CP/M filespec.   Drive letters 
  70. beyond the maximum (patchable by the user), and user numbers above the maximum
  71. (also patchable) are disallowed.   As distributed,  the maximum  drive is 'P', 
  72. and  maximum user  is 15.   Disallowed printable characters are <>.,:;=[]  and 
  73. space.  Your CCP may filter out some of these characters anyway.   If you have 
  74. filenames with any of these characters or control characters in them, they are 
  75. non-standard.  *See Note Below
  76. :c
  77.  
  78. DESTINATION: 
  79.  
  80.    All copy operations are  to  one  destination  drive/user.   To  specify  a 
  81. different destination drive/user than the logged one,  just place it somewhere
  82. on the command line.
  83.  
  84.      ZCOPY *.DOC E3:     or
  85.      ZCOPY E3: *.DOC
  86.  
  87. will copy all .DOC files on the current drive/user to E3:
  88.  
  89.    If you put  two or more  destination  drive/user specs on the command line, 
  90. ZCOPY will use the last one it finds.
  91.  
  92.      ZCOPY B0: *.DOC C1:
  93.  
  94. copies *.DOC on current drive/user to C1:
  95.  
  96.  
  97. DESTINATION (continued):
  98.  
  99.    As with the source filespec default sequence, the previous drive or user is
  100. retained , so for example
  101.  
  102.      B0>ZCOPY A: C0:*.DOC 1:
  103.  
  104. copies C0:*.DOC to A1:
  105. :e
  106.  
  107. QUERY OPTION (both ZCOPY and ZERA):
  108.  
  109.    There is a command line option  to  Query  the  user before each operation.
  110. Adding a '[Q' causes the program to start in Query mode.
  111.  
  112.      ZCOPY *.DOC E3: [Q  or
  113.      ZCOPY [Q *.DOC E3:  or any other order of these
  114.  
  115. will yield a Query of the following form
  116.  
  117.      Copying <filename> OK?
  118.  
  119. to which you may answer in one of five ways:
  120.  
  121.  
  122. QUERY OPTION (continued):
  123.  
  124.      Y    copies the file.
  125.      N    or anything else except the following skips the file.
  126.      ESC  copies the file, and turns off the Query option, so 
  127.           that all remaining files will be copied.  But see below!
  128.      TAB  skips the remaining files matching the current filespec 
  129.           and goes on to the next filespec, if there is one.
  130.      ^C   exits safely back to CP/M.
  131.  
  132.    Even if you did not  give the '[Q' flag  on the command line, you can enter
  133. the  Query mode any time you like during multiple file operations.   Just type 
  134. ESC,  and the next copy operation will give you the Query.   Using ESC you can 
  135. go back and forth as much as you like, toggling the Query mode on and off.  So
  136. if you accidentally typed *.* and didn't mean it, just hit ESC.
  137.  
  138.  
  139. QUERY OPTION (continued):
  140.  
  141.    You will be queried about replacing an existing Read/Only file, even if not
  142. in Query mode.   When this occurs,  your  options  are  limited to Yes and No.  
  143. Anything  but 'Y' skips.  The existing R/O file  WILL BE ERASED  if  you reply 
  144. 'Y'.
  145.  
  146.    If you patch ZCOPY.COM to come  up normally in Query mode, then the [Q flag 
  147. will cause ZCOPY to come up NOT in Query mode.
  148. :f
  149.  
  150. ADD Mode and REPLACE Mode (ZCOPY only):
  151.  
  152.    The flag [A on the command line sets Add mode.   Add Mode simply refuses to 
  153. copy any file that already exists on the destination.
  154.  
  155.    The [R flag sets Replace mode,  which  is just the opposite.   Replace mode 
  156. refuses to copy any file that does not already exist on the destination.
  157.  
  158. You can combine Add mode OR Replace mode with Query mode, for example:
  159.  
  160.      ZCOPY *.COM B: [QA       or
  161.      ZCOPY *.COM B: [Q [A     or any other order
  162.  
  163. will run down the list of all .COM files  on the  current drive and user,  and 
  164. will copy only those that you first select, and then only if the file does not
  165. already exist on B:
  166.  
  167.  
  168. ADD Mode and REPLACE Mode (continued):
  169.  
  170.    Obviously the combination of Add and Replace would not  copy any files,  so 
  171. those flags found together will cause ZCOPY to abort.
  172.  
  173.    You can patch ZCOPY.COM  to start out in Add or Replace mode,  if you like, 
  174. see below.
  175. :g
  176.  
  177. NO SORT - Option [N
  178.  
  179.    ZCOPY21 normally performs an alphabetical (ASCII) sort on the list of names
  180. matching  an ambiguous file spec before copying.   If you  do  not prefer this 
  181. mode of operation,  you can  patch ZCOPY.COM  to  start  out  in No sort mode.  
  182. Usually you  will like  the sort mode.   It keeps the directory  of the target 
  183. disk  in better sort order,  so that directory utilities which sort  take less 
  184. time to run.   But you might  want to  copy files in  the exact order in which 
  185. they appear in  the directory of  the source disk,  i.e the order in which the 
  186. CCP command DIR displays them.  In this case, use the [N option flag.
  187. :d
  188.  
  189. *** FLAGS ARE TOGGLES ***
  190.  
  191.    If  ZCOPY.COM has been patched to start out in any of the modes,  then  the 
  192. [QARN flags on  the command line  will toggle  the option OFF.  In  fact,  the 
  193. flags work like toggles, so a command like
  194.  
  195. ZCOPY [Q b:*.doc [Q
  196.  
  197. will NOT execute in Query mode (assuming Query off is the start up condition).
  198. This  is important to remember if you  put flags into your INDIRECT files (see 
  199. below).
  200. :h
  201.  
  202. INDIRECT Input (ZCOPY only): 
  203.  
  204.    Instead of - or in addition to - the filespecs  typed  on the command line,
  205. you can create an ASCII text file listing a set of files you want copied,  and
  206. then command ZCOPY to use it.
  207.  
  208.      ZCOPY <FILELIST
  209.  
  210. will use the text  of  a  file  named FILELIST  as its command line.  You must 
  211. create the indirect file properly for  this  to work.   Each line must contain 
  212. one  and only one command line argument.   For example,  if the following text 
  213. file named WP exists on the default drive and user -
  214.  
  215. B0:WS*.*
  216. SPELL.*
  217. 1:CHECK.COM
  218. [Q
  219.  
  220.  
  221. INDIRECT Input (continued):
  222.  
  223. The command line
  224.  
  225.      ZCOPY <WP
  226.  
  227. will do the same thing as
  228.  
  229.      ZCOPY B0:WS*.* SPELL.* 1:CHECK.COM [Q
  230.  
  231. Arguments in the file are ADDED to whatever else you type on the command line,
  232. so
  233.      ZCOPY C1:TEXT.FIL <WP A1: [Q
  234.  
  235. works just fine.   This example would turn OFF the Query mode that  was turned 
  236. on normally by the [Q flag in WP,  add C1:TEXT.FIL to  the list  of  files  to 
  237. copy, and make A1: the destination instead of the logged drive and user.
  238.  
  239.  
  240. INDIRECT Input (continued):
  241.  
  242.    You can have  a list of source files and copy  it to different destinations
  243. by adding the desination specifier on the command line.   The indirect file in
  244. the  above example  must exist  on the default  drive and user,  but it can be
  245. located anywhere as long as you give the proper du: spec.
  246.  
  247. For example:
  248.  
  249.      ZCOPY <C15:WP
  250.  
  251. will look for the indirect file WP on C15:
  252.  
  253. *** Be  careful  not  to  put any SPACES  after  a filespec  on  a line in the
  254. indirect  file,  or it will  be an invalid filespec.   Lower  case letters are
  255. converted to uppercase automatically. ***
  256.  
  257.  
  258. INDIRECT Input (continued):
  259.  
  260. As a special usage of input redirection, try
  261.  
  262.      ZCOPY <CON:
  263.  
  264. You will be prompted to enter a column of filespecs, just as if it were coming
  265. from  an indirect file.   You  must type control-Z  alone on  the last line to 
  266. terminate input and begin copying.
  267. :i
  268.  
  269. Copy Buffer:
  270.  
  271.    ZCOPY takes all the  available memory for its IO buffer,  and tells you how 
  272. big the buffer is.   Buffer size will vary depending  on how big  your TPA is, 
  273. the number of filespecs handed to ZCOPY,  and on whether you have an  RSX (for 
  274. example, EX.COM) in place.  ZCOPY causes a warm boot on leaving to recover the
  275. CCP,  which is overwritten to gain the maximum buffer.   (ZERA  returns to the 
  276. CCP  after resetting  the  disk system.)   With  its large  buffer ZCOPY works 
  277. faster than many other copy programs.
  278. :j
  279.  
  280. Aborting ZCOPY or ZERA:
  281.  
  282.    If  you type control-C during a multiple file copy or erase operation,  you 
  283. will see
  284.  
  285.      Abort? (Y/N)
  286.  
  287.    If  you type 'Y'  you  will immediately  abort all operations and return to
  288. CP/M.  If you want to continue with just the current  file and then abort, you
  289. should  answer 'N'  (or  anything  but 'Y'),  and  then  type  ESC.   The next 
  290. operation will Query you, and then you can type ^C.
  291. :k
  292.  
  293. Patching ZCOPY.COM and ZERA.COM:
  294.  
  295.    There  are seven locations  in the first sector of ZCOPY21.COM which may be
  296. patched using DDT,  EDFILE,  etc.   (The  following  locations  are  shown  as 
  297. displayed by DDT  or EDFILE.   The actual locations in the .COM file are 0100H
  298. less.)
  299.  
  300.      0157H     00H entry Query mode:  00 for no, 01 for yes.
  301.      0159H     50H ('P') maximum drive letter, ASCII upper case.
  302.      015BH     0FH (15)  maximum user number.
  303.      015DH     64H (100) maximum number of files per filespec.
  304.      015EH     00H high order byte for maximum number of files.
  305.      015FH     00H entry Replace mode: 00 for no, 01 for yes.
  306.      0161H     00H entry Add mode: 00 for no, 01 for yes.
  307.      0163H     00H entry No sort mode: 00 for sort, 01 for No.
  308.  
  309.  
  310. Patching ZCOPY.COM (continued):
  311.  
  312. Patchable locations in ZERA11.COM are
  313.  
  314.      0135H     00H entry Query mode:  00 for no, 01 for yes.
  315.      0137H     50H ('P') maximum drive letter, ASCII upper case.
  316.      0139H     0FH (15)  maximum user number.
  317.      013BH     FFH (255) maximum number of files per filespec.
  318.      013CH     00 - high order byte for maximum number of files.
  319.  
  320.    Maximum drive is the highest drive letter that will be accepted as valid in
  321. a filespec.   Maximum user number is similar,  but  also sets the highest user 
  322. number that will  be searched if  a wild user spec,  for example,  A*:*.COM is 
  323. given.  You may want to lower the maximum user to speed up wild user searches, 
  324. since the search starts at  user zero and goes up to and includes the maximum.  
  325. The highest allowable maximum user is 31.
  326. :l
  327.  
  328. Maximum files per filespec:
  329.  
  330.    There is a preset limit on the number of files that can be operated on with 
  331. one ambiguous filespec,  and  you can  change this number.   I  picked 100 for 
  332. ZCOPY for  optimization reasons.   This  is not a limit on the number of files 
  333. copied with  any one command,  since two or more ambiguous specs can be given, 
  334. each  matching up  to the maximum number of files.   If  an ambiguous filespec 
  335. does match  more than the maximum number of files,  a message will say so, and 
  336. the maximum number of files will be copied.
  337.  
  338.    For ZCOPY the  maximum number of files that can  be matched by a given file 
  339. spec is  a tradeoff of memory  buffer size  for the  number of files  that can 
  340. match.   Set it to the mimimum number of files you expect to want to copy with 
  341. one ambiguous spec.   If you  have only floppies, set it to the maximum number 
  342. of directory entries per floppy.   For a hard drive, set it to the maximum you 
  343. want to copy at once.   But remember  that higher settings reduce  the size of 
  344. the buffer.
  345.  
  346.  
  347. Maximum files per filespec (continued):
  348.  
  349.    There is  virtually no limit on the number of filespecs that can be read in 
  350. from an indirect  file  (each  takes 17 bytes of memory).   The  limit  set by 
  351. maximum files is on the number of actual files that can match any one of those
  352. ambiguous filespec.
  353.  
  354.    For ZERA the maximum number of files can be set to any reasonable value you
  355. want.   It is initially set  at 253,  but can be made higher by using the next
  356. byte which is the high order byte.
  357.