;
                                  SCOPY.COM                                   

             Size (recs) CRC   Version    Author/Latest Issue      Disk
              14k (109)  7EC4  0.4c       Rob Friefeld 2/91        Z3COM19

  1- Syntax  2- SCOPY Commands  3- Datestamp Commands  4- Notes               

   Screen Copy is a  screen-oriented file copy utility for  ZCPR3 and  Z3PLUS.
It displays both the source and  destination  directories in  vertical windows
and uses copy commands much like ZFILER's.   It also has extensive support for
file datestamping with commands to select and copy files by  date.   It is not
intended to be a comprehensive file-management tool like ZFILER or DATSWEEP.

   SCOPY requires an  extended  TCAP and  will not  work without Insert/Delete
Line and Clear to End of Screen.  It also makes optional use of cursor on/off,
line graphics,  and character  attributes  (to underline a file name character
with its attribute set.) 
:1
 Syntax   SCOPY <source or destination dir:>[mask] [dest dir:]

   If only one DIR is given,  it is the target  directory,  and the  currently
logged DIR is the source directory.   If two directories are given, the source
is the first one.  The optional MASK is automatically wildcarded. 

   Example:  These three are equivalent --

   ( source:  work:       B0:WORK>scopy backup:x.c      or,
destination:  backup:     B0:WORK>scopy x.c backup:     or,
       mask:  x*.c?? )    B0:WORK>scopy work:x.c backup:

                          B0:SCOPY X     --> Error: Scr=Dest

   File operations are  bi-directional,  so it  doesn't  matter  which  is the
master and which is the target directory.

   When re-logging from  within  SCOPY,  the  syntax has the same meaning, but
remember that you will not  necessarily be  currently  logged  into  the  same
directory as at startup.
:2
                       -- SCOPY COMMANDS -- 


  C - Copy           M - Move           D - Delete         R - Rename
  T - Tag            U - Untag          W - Wild Tag       Y - Retag
  J - Jump        ^J,H - ReJump (Hop)   K - Compare        V - View
  ` - Jump Tag       ~ - Jump Untag     1 - Jump One       2 - Jump Two

G - Group: Archive/ Copy/ Delete/ Move/ Reverse/ Tag/ Untag/ View
           Equate/ Kompare/ New

      --  Misc --               -- Cursor --      --  WS Diamond, Arrow Keys--

  X - eXit SCOPY            ^R - Top of Screen            Line Up           
  L - Log New               ^C - End of Screen               ^              
  O - Option toggles        ^F - Next Screen      Prev File < > Next File   
TAB - Switch Lists          ^A - Prev Screen                 v              
                            ^T - First File              Line Down          
                            ^B - Last File     
                            SP - Next File     
                            BS - Prev File     
                         BRIEF DESCRIPTIONS 


 C   Copy   - Send file at pointer to  other directory.  An arrow  at 
                the top of the screen shows the copy direction.  Copying
                is controlled by verification flags described below.

 M   Move   - Copy, then delete source file.

 T   Tag    - Mark a file for a Group operation.

 Y   Retag  - When a Group operation runs through the tagged file list,
                the files are "soft" tagged.  This command retags them.

 R   Rename - Rename does not integrate too well with SCOPY's method of 
                file display.  If you rename THEN copy a file, it retains 
                its old name in the destination  directory.  You may want to
                rename after doing all of your copying, or relog the fileset. 

                If an Archived file is renamed, the archive attribute is 
                reset.  (Ditto the Public attribute.)
 Jump Commands 


 J      Jump          - Find the next match to the mask entered.  The mask
                          is automatically wildcarded.

 ^J, H  ReJump        - Use the same mask.  (^J will not work if your TCAP
                          defines it as an arrow key.  Use H (Hop) instead.)

 1      Jump One      - Go to next file which exists only in current
                          directory. 

 2      Jump Two      - Go to next file which exists in both directories.

 `      Jump Tagged   - Go to next tagged file.

 ~      Jump Untagged - Go to next untagged file.
 Group Commands 


 GA      Archive   - Copy only tagged files which do NOT have the archive 
                       attribute set, then set the source archive attribute.

 GT, GU  Tag/Untag - Affects all files from the cursor position  to 
                       end of list.

 GK      Kompare   - Do a byte for byte comparison of source and destina-
                       tion files, report the result on the screen divider as
                       "=" or "~".  You may then retag files which tested 
                       equal or unequal. 
 Options 

   The O - Options command displays a list of flags which can be toggled  yes/
no to control SCOPY operations.

   Set Copied File Attributes - Destination file attributes are cleared unless
this option is Yes.

   Use Source Attributes - If previous option is Yes, use source attributes on
copy, else use existing destination attributes.

   Archive Destination - Used when copying files to a work area, such as a RAM
disk.   The Group Archive command can  then  conveniently  move any  files you
altered back to permanent storage when you are done.

   Show File Attributes -  SCOPY uses the  extended  TCAP  SETATR  function to
underline filename characters to  represent  a file  attribute  set.   This is
unobtrusive.   The problem is that  a tagged  file is  highlighted,  and  some
terminals change highlighting when underlining is  turned  off  and  on.   The
result is a  cluttered  display.   If you  don't  like what you see, just turn
attribute display off.   (VLIB does  support the  combination  "reverse under-
line", but on my terminal it doesn't work right.)
 V  - View 

   The main viewer commands are shown highlighted on the bottom screen line.
All viewer functions are controlled with the left hand.  These are:

       F - Next screen
       A - Previous screen
       T - Top screen
       B - Bottom screen
       R - Read more file if too big for available buffer
       G - GoTo string up to 20 characters.  "_" is wild char.
       H - Repeat GoTo on same string.  Same as G<cr>
       X - Done with this file.  Group View goes on to next file.
       S - Scroll continuously forward until a key press
       D - Reverse scroll.

   Commands NOT shown are:
       <sp>  Next line
          -  Previous line
       <cr>  Next screen (synonym for Forward)
       <tab> Hop forward 10 lines
       ^C    Abort loop (Group View)
:3
 Special Datestamp Commands 


   There are three ways SCOPY can use file datestamps  -  either separately or
in combination.   There are alternate ways to  achieve the  same  effect.  The
intent is not to confuse,  but  to  make  it easy to  do what you want without
having to read this documentation every time!
 I. WILD TAG BY DATE COMPARISON - 1/4 


   (W)ild Tag/ Untag/ Exists/ New  MASK  DATESPEC

   Select a fileset for a Group operation by comparing the directory to a Mask
and/or Datespec.  Matching files are selected by one of four methods:

       1.  (T)ag them all.
       2.  (U)ntag them all.
       3.  (E)xists:  Tag only if they Exist in both directories. 
       4.  (N)ew:  Tag  only if the  source version is  Newer  or
           unique.

           "Newness"  is  determined by  comparing  the  two 
           Modify dates if possible.  If there is no  Modify 
           date  for  one of the files, its Create  date  is 
           used.   If  neither  is valid, the  file  is  not 
           tagged.   The command has no effect on  unstamped 
           disks  or systems.  Note that one  file's  Modify 
           date could be compared to the other file's Create 
           date (if it has no Modify date.)
 I. WILD TAG BY DATE COMPARISON - 2/4 


   Wild  commands ask for an optional  Mask (automatically wildcarded)  and an
optional Datespec.   The datespec is compared to the  Modify date or -if there
is none- to the Create date.  Access date is not used. 


   The datespec format is:

          [/C]<, >, or =date[ time]

       Where:
          /C     Forces comparison to Create date ONLY
          < > =  Mandatory date signifier (how to use date)
          date   dd.mm.yy  (any part omitted = the current date)
          time   hh:mm     (any part omitted is ignored)
       Wildcard characters "?" or "*" are allowed in date, time.
 I. WILD TAG BY DATE COMPARISON - 3/4 


       Examples:
          <1.9        Selects all modified before 1 Sept this year
          =           All modified today
          >.. 13:00   All modified after 1pm today
          /c=*        All created any day this month


   Note that dates are European style rather than American  style 
   mm/dd/yy.  European syntax is more natural here where the date 
   resolution proceeds from fine to coarse.  (The datespec parser 
   was developed from Carson Wilson's ZSLIB routine PARSDS.) 


   Some mask and/or date spec must be given, or the Wild  command 
   cancels.  You can use a single "*" to test everything.
 I. WILD TAG BY DATE COMPARISON - 4/4 


       Examples:

       WN*
       Tag   everything  in  the  source  dir  newer   than   the 
       destination. 

       WE=
       Tag all files modified today in the source directory which 
       also exist in the destination directory.
   
       WN.z <2
       Tag  all *.Z?? files in the src dir older than the 2nd  of 
       this month which are newer than the dest versions.

   Wild commands may be repeated to build up a fileset. 
 II. GROUP COPY BY DATE COMPARISON - 1/2 


   Group commands operate on a file set which has  already  been  tagged.  Two
new commands are modeled on the Group Archive command which  UNTAGS any tagged
files don't meet a criterion,  displays the  resulting  file  set, then copies
them.

                             GE - Group Equate 

   Copy only tagged files which do not exist in the destination directory,  OR
whose datestamp  (including  the  time) is  different  from  the  target  file
datestamp.   This command  EQUATES the source and destination directories, but
does not waste time copying files which are presumably the same.   (The  files
may not actually BE the same in the  case of  a  copy error,  bad disk sector,
faulty clock, etc.  If you suspect you can't trust the datestamps,  use  GK  -
Group Kompare.) 

   Group Equal insists that both  Create and Modify fields of the datestamp be
identical.  The dates are not checked for validity, however.  (A file does not
_have_ to have a valid Modify date.)   If both files have null  datestamps, GE
will untag.  
 II. GROUP COPY BY DATE COMPARISON - 2/2 


                           GN - Group New 

   Copy only tagged  files  which  do not  exist in the destination,  OR whose
datestamp is newer than the target file datestamp.   This command  UPDATES the
destination.

   If any dates aren't valid, then a file passes this test and remains tagged.
If you zealously maintain your Archive attribute,  this command would probably
do what Group Archive does when making back ups.
   
   Wild functions compare the file's datestamp to a Datespec.  Group functions
compare the file's datestamp to the other file's stamp.
 III. FILE REPLACE BY DATE COMPARISON - 1/2 


    The Option List now looks like this:

     A. replace by date            If Yes, D-F are ignored, else B-C ignored
     B. older replace query
     C. newer/equal replace query  If No query, copy is NOT made.

   Use these options if A. is No or the file datestamp is invalid.
     D. single replace query
     E. group replace query
     F. archive replace query
     G. ...
 III. FILE REPLACE BY DATE COMPARISON - 2/2 


   Replace by Date - If Yes, the next two options are operative.  If No, they
are ignored.  

   Older Replace - Ask before replacing an older file.

   Newer/ Equal Replace  -  Ask before replacing a  newer file.   You  usually
won't want to.   Therefore,  if this option is set to  NO,  the  copy does NOT
occur.

   If the dates compared aren't valid,  then date replace  queries are skipped
and fall back on options D-F.   SCOPY would then work like ZFILER for systems/
disks without datestamps.
:4
 SCOPY Notes  

   a. Z3PLUS Users:  This  version of  SCOPY does not copy file datestamps.  A
      future version will do so.
      
   b. HINT:  Set up SCOPY's query options to allow you to safely play with the
      new date selection methods.   You will be  able  to see  on  screen what
      SCOPY intends to do, but can bail out  at  the  prompt  before  anything
      happens.  The easiest way to do this is to  Ask For Verification.   A ^C
      at the Y/N prompt will cancel the command.
