%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%