home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 401.lha / Zoo_v2.01 / Zall / ZAll.doc < prev    next >
Text File  |  1990-07-29  |  6KB  |  121 lines

  1.  
  2.  
  3.                             ZAll / AllFiles
  4.  
  5.                        © 1989, by Mike Cargal
  6.  
  7.  
  8.                  This program is freely redistributable.
  9.                    (NOTE: Requires ARP 1.1 or higher)
  10.  
  11.  
  12.     Well, this is it, my second contribution to the world of Amiga freely
  13. redistributable software.  Let me know how you like it.  You may leave
  14. messages in the Amiga Sig of either of the following two boards.  I sign
  15. on to them fairly regularly, and would therefore be likely to get your
  16. message.  C.I.A (404-561-5359) and the Columbus Connection (404-687-7309),
  17. or on BIX to mcargal.
  18.  
  19. What are ZAll and AllFiles?
  20.      ZAll is a script file to be used in conjunction with AllFiles and
  21. ZOO, to easily zoo down an entire directory structure, so that it can be 
  22. recreated when unzooed.  AllFiles simply lists all the files in a 
  23. directory and it's sub-directories to stdout.  These names are relative
  24. to your current directory.  It can be used to send a list of files to
  25. zoo.
  26.     Note: There are two versions of ZAll included: zalltemp which uses
  27. an intermediate file on the t: device, and zallpipe which uses the PIP:
  28. device from conman 1.3.  If you don't have this device you will want to use
  29. zalltemp (just rename it as zall).  If you have the PIP: device you may
  30. wish to try zallpipe (rename it as zall).  In testing this, it seems that
  31. it may actually be slower than using the temporary file since AllFiles and
  32. ZOO are in contention with each other when usong PIP: (causing disk 
  33. thrashing).  Experiment to decide which you prefer.
  34.     
  35. How do I use ZAll?
  36.      I set the S protection bit on all my executable files so they can
  37. be executed without typing execute in front of them on the CLI.  I 
  38. also include the following line in my Shell-Startup:
  39.  
  40.     ALIAS SBit PROTECT [] S ADD
  41.  
  42. This way I can type SBit <batch file name> and easily reset this 
  43. protection bit.  (My text editor has the nasty habit of resetting this
  44. bit whenever I save the file down.)
  45.      ZAll calls for a zoo file name and an optional list of directories
  46. to be zooed down.
  47.     
  48.      ZAll zf dir1 dir2 dir3 dir4 dir5   (you can change tthe batch file
  49.                                          if you need more directories
  50.                                          and AllFiles will handle the 
  51.                                          additional args)
  52.       zf - the name of the zoo file you wish to have created
  53.       dirx - optional directory names (none indicates your current
  54.                directory.)
  55.  
  56. That's it, just be sure to use the e// command to unzoo (this recreates
  57. directory structures).
  58.  
  59. *HINT* 
  60.     I spent quite a while trying to get this script file to work because
  61. I had left out the .BRA and .KET directives.  If you don't change them,
  62. AmigaDos goes bonkers when you try to do input redirection.  It seems
  63. that it can tell the '<' for input redirection from the '<' to bracket
  64. keyword substitution in script files.  A brilliant conflict of syntax
  65. on Commodore's part.  So, the hint -- if you're going to use input
  66. redirection in a script file, you have to change the .BRA character,
  67. and it makes sense to make the .KET be a logical match, even though
  68. you would not technically need to change it.
  69.  
  70. How do I use AllFiles?
  71.       AllFlies takes an optional list of directories and lists them to
  72. stout.  If you don't specify a directory(s), your current directory and
  73. sub-directories will be listed.  Files are listed with pathnames needed
  74. to access them from your current directory.  *NOTE* I do not list full
  75. pathnames, since you may not want to recreate full paths when you unzoo.
  76. By CD'ing to the right location you can create a list of files to create
  77. any directory structure you may have.  AllFiles uses the ARP multiargs
  78. option so that you can specify several directories at on time.
  79.  
  80. For Programmers:
  81.      I have included the assembler source to this program.  I am using
  82. Asm68K by W. W. Howe (you can be productive without commercial assemblers/
  83. compilers, through it might be easier if I spent a few dollars on the
  84. commercial packages).  I have since switched to CAPE and recommend it
  85. highly.  I would also recommend Exterminator by Glen Marriman
  86. which I used to help debug this program (but don't blame him if all the
  87. bugs aren't eradicated).  And (while I'm giving credit) I especially want
  88. to thank the folks at ARP for providing a host of useful subroutines for
  89. coding a small, but still user-friendly program.
  90.      If you are like me, you want to know what things a program does
  91. to determine if it might have example code to use rather than have to 
  92. experiment with trial and error attempts to get function calls working
  93. like they should.  With that in mind, these are some of the things that
  94. AllFiles provides examples of:
  95.     1) ARP GADS function call to parse command line (including multiargs)
  96.     2) coding reentrant programs to be made resident
  97.     3) Using LINK and UNLK instructions with a local structure on the
  98.         stack to create recursive subroutines in assembler (now that's
  99.         a real mouthfull, just look at the subroutine ListDir)
  100.     4) I've included an include file you'll need to assmeble this.  It's
  101.         called Ltypes.i, it is very similar to the exec/types.i file, 
  102.         except that it creates negative offset structures, suitable for
  103.         use with LINK and UNLK.
  104.  
  105. *** NOTE ***
  106.  
  107.    This program makes extensive use of arp.library version 1.1.  In order
  108. to use this program version 1.1 of arp.library should be placed in your
  109. LIBS: directory.  Since ARP is easy to find, and it would only increase
  110. the size of this upload module unnecessarily for those of you already 
  111. having ARP, I have not included it here.
  112.  
  113.  
  114. Let me know how you like (or dislike) it.
  115.  
  116. Later...  Mike
  117.  
  118. P.S.  There are other uses for AllFiles.  I know of someone who has set up
  119. an alias using AllFiles, Search, and Sort (with pipes) to implement a
  120. WhereIs command, so play with it and let me know what you come up with.
  121.