%OP%TM1
%OP%HM2
%OP%FM2
%OP%BM1
%OP%LM5
%OP%HE/%H2%Z88 Users' Club Software Library%H2%/
%OP%FO/%H2%Z153%H2%//@P@/
%OP%DECopier documentation
%CO:A,3,70%





%L%%H1%1 Purpose%H1%





%L%%H1%2 Distribution Files%H1%




%L%%H1%3 Before you Start%H1%





%H1%4 Preamble%H1%
















%H1%5 Using the Program%H1%
 1
 2
 3

 4
 5



 6





%P0%
 7



 8






 9





 10






%L%%H1%6 Altering the Default Names








%L%%H1%7 How the Program Works







































%L%%H1%8 Copyright Etc.
%CO:B,5,67%%C%%H2%Z88 FILE COPIER
%C%version 1.00
%C%%H2%(C) Andrew C Rowland 1991

%C%%H2%DOCUMENTATION


To supplement the Filer by allowing you to copy a list of files 
from one directory to another, or to a different device. To allow 
you to export a list of files in the same way.








As distributed, all the files are in the /LIBRARY sub-directory.  
The directory /LIBRARY should be created before fetching from 
EPROM if it doesn't already exist. See section 6 to alter the 
default filenames.


It is often necessary to alter the directory structure of the 
Filer, or try to get it organised. A directory can become too 
full, making it hard to find the file you are looking for, so you 
need to group the files sensibly in sub-directories.

Unfortunately, the Filer lacks a proper multi-file copy command. 
The COPY command provided is rather confusingly named: if you 
select several files and try to <>COpy them, they are merged into 
one file. Even worse, <>REname won't allow renaming across 
directories.

The program presented here makes proper copying across 
directories, devices and even machines possible, with selection of 
files in the same manner as the Filer. Each file is transferred to 
a different directory but retains its old name.


 <>KILL %H2%all%H2% BASIC suspended tasks. 
 Enter BASIC anew (%H2%[]B%H2%) 
 Enter the filer (%H2%[]F%H2%) and find the directory containing the files 
to be copied. It is important that you enter the Filer from BASIC. 
 Type <>EX and enter LIBRARY/Z153C
 After a delay in which you will see the Filer catalogue displayed 
and then the words "Reading filenames. Please wait.", the Copier 
screen will appear. The title "COPIER" is shown at the top left. 
Up to 28 files, but no sub-directories, will be shown.
 This screen is used similarly to the Filer: use the arrow keys to 
move round the screen, and select the files to be copied using TAB 
or ENTER. Both these keys have the %H4%same%H4% effect: they toggle the 
selection on and off. Alternatively, select all files by 
highlighting "EVERY" and pressing ENTER. You can cancel all 
selections using "NONE". 

 Choose whether you want to copy (make new copies of the files in 
the destination directory/device), move (losing the originals) or 
transmit. The transmit option uses the same protocol as 
IMP-EXPORT. Press ENTER. 
 If copying or moving, give the destination directory. If it is 
below the current directory in the directory tree, you only need 
specify the directory name (without a slash '/'); otherwise, a 
full pathname is required. For example, to copy files into the 
sub-directory 'Letters', just enter LETTERS. But if the 
destination is in another device or a different branch of the 
tree, enter, for example, /PIPEDREAM/LETTERS 
 If a "Failed" or "Bad Filename" message appears, it is most 
likely that the destination directory wasn't found, perhaps 
because you mistyped its name. Press ESC and start from the 
beginning. It is also possible that the files selected weren't 
found - did you enter from the only BASIC activity as described in 
3 above?
 If a file of the same name as the original already exists in the 
destination directory, you are alerted and asked if you want to 
continue. If you do, you may change the name of the file you are 
copying in order to avoid overwriting the existing file. If you 
just press ENTER to leave the name the same, the existing file 
will be lost.


The CLI file can be called whatever you want - just rename it. The 
program COPY.BAS must be known to this file, so if 
:RAM.1/LIBRARY/Z152B doesn't suit your setup, call it what you 
will, then load Z153C into PipeDream using the "Load as plain 
text" option. Alter the filename given in the last line (give the 
full pathname including device), and save the file (as COPY.CLI or 
whatever), again using the "plain text" option.



 The CLI file used to start the program first enters the Filer 
(which is why the directory must be set %H4%after%H4% entering BASIC), and 
directs screen output to the file :RAM.-/S.sgn. It then catalogs 
the directory, so that S.Sgn contains a list of current files. It 
enters BASIC again (which is why only one BASIC task is permitted) 
and chains Z153B.

 The program starts by reading the filenames from S.Sgn, using the 
indenting that "Catalogue Files" produces to work out the name of 
the current directory, and to ignore any directory names (as they 
cannot be copied!). S.sgn is erased, as files should not be left 
in temporary RAM (:RAM.-).

 The program can then display three windows - a title window at 
the left, a command window with the five commands, and a directory 
window. This window is larger than the standard Filer window, and 
does not show sub-directories, so that more files are visible than 
in the Filer. However, it will only show up to 28 files at any one 
time, so you may have to use the utility more than once: more 
files will become visible as others are moved out of the 
directory. Or organise yourself before your directories get 
chock-a-block!

 If "Transmit" is chosen, the file is copied to the serial port 
using the same protocol as the Import-Export popdown, so there 
should be no problems with the software on the receiving machine. 
It can be more convenient to use this utility than using wildcards 
in IMP-EXPORT. Note that asking the Filer to <>COpy to :COM.0 
sends the file literally byte for byte, which may disagree with 
some serial links. Using this utility means that the filename is 
sent too.

 Once each file has been copied, and only if "MOVE" was chosen, 
the original file is erased. The copy procedure is rather slow, as 
it copies byte by byte. I experimented with invoking another CLI 
to get the Filer carry out the copying (which should be much 
faster) but ran into several problems. If anyone else succeeds ...


This suite of programs is copyright Andrew C Rowland. The package 
may be copied freely so long as it is copied complete, including 
this notice, and is not sold, hired or distributed as part of 
another package which is distributed for reward or profit.

The package may be distributed by the Z88 Users' Club under the 
above terms, and charge such handling charge as they see fit.

If any alteration is made to this package (unless very minor) or 
bug is found, I would like to have notice of it - along with any 
helpful comments.

%C%Andrew C Rowland
%C%17 Farrar Street
%C%Barnsley
%C%S70 6BS
%R%August 1991
%CO:C,58,62%












Z153A - Documentation: PipeDream file
Z153B - BASIC program
Z153C - CLI-file used to start the program
%CO:D,12,0%