home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
536.lha
/
QDCopy_v1.0
/
QDCopy.Doc.pp
/
QDCopy.Doc
Wrap
Text File
|
1991-08-09
|
13KB
|
292 lines
QDCopy Version 1.0 (July 15, 1991)
Quick & Dirty File Copier (or Qwazy Darren File Copier!)
Copyright (C) 1991 by Darren Ewaniuk
-----------------------------------------------------------------------------
Description:
QDCopy is a file copier geared to one floppy drive systems. It allows you
to copy multiple files at one time with a minimum of disk swaps. It also
allows you to copy to multiple destination disks, so when one destination
disk is full QDCopy will ask for a new one and continue on with the copy.
QDCopy will duplicate the comment and protection bits for files it copies.
-----------------------------------------------------------------------------
Requirements:
ARP library V39+ is required. Other than that, any basic Amiga computer
system with one or more floppy disk drives will do. This program was
actually designed for one drive users.
-----------------------------------------------------------------------------
Installation:
Install arp.library in your LIBS: directory if it isn't already there.
Install QDCopy in your command path. C: is a good candidate for floppy
drive systems.
-----------------------------------------------------------------------------
Usage:
QDCopy is fairly easy to use. The CLI/Shell command line is:
QDCopy <Source pattern> <Destination path>
<Source pattern> is a filename or wildcard filename which tells
QDCopy which file or files to copy. The pattern can be any
AmigaDOS or ARP wildcard.
<Destination path> is a disk or directory name to copy the file or
files to. The "/" at the end of a directory name is optional
and is not required.
If the source pattern or destination path have spaces or special
characters in them, enclose them in double quotes.
If the destination disk is full, or QDCopy cannot write to the disk (if
there's an error or if the disk is write protected), QDCopy will ask for a
new disk and will allow you to type in a new destination path if necessary.
If the source pattern or destination path have a device or disk name in them,
QDCopy will prompt for the disk during each pass. If the source pattern or
destination path are relative to the current directory, it will not ask
for the disk, assuming that you are copying to or from a hard disk.
To abort the copy, issue a break command to QDCopy be pressing Control-C.
If you are currently being prompted for a disk, you must press the Return
key before the break is recognized.
If possible, use disk names rather than device names, so that if you insert
the wrong disk for source or destination, the system will ask for the
correct one. "DF0:" and "DF1:" are device names, while disk names are
like "Music Disk # 1:" and "MyGames:".
For script users, QDCopy will return one of these error codes when completed:
0: All files copied successfully.
1: Not enough arguments in command line.
5: (WARN) All files could not be copied successfully. Either some files
could not be read or written, or some information such as
the protection bits or comment could not be set.
6: (WARN) QDCopy was interrupted with a CONTROL-C break.
10: (ERROR) QDCopy could not get enough memory to run, or could not open
the ARP library.
-----------------------------------------------------------------------------
Examples:
QDCopy DF0:#? DF0:
Copies all the files in the root directory of a floppy disk in drive
"DF0:" to another floppy disk in drive "DF0:"
QDCopy ST-00:Mod#? "Music Disk:"
Copies all the files starting with "Mod" from a floppy disk named
"ST-00:" to a floppy disk named "Music Disk:". These disks can be in
any disk drive if you have more than one of them.
QDCopy C/#?Virus#? DF0:
Copies all the files in directory "C" with "Virus" as part of their
name to a floppy disk in drive "DF0:"
-----------------------------------------------------------------------------
Limitations:
- Each file loaded must be loaded into one chunk of contiguous memory.
If more than one file is loaded, they can each be in isolated fragments
of memory, but a single file cannot be split in memory.
- QDCopy won't split a file up. Therefore, it can't copy files bigger than
memory. If I remove the contiguous memory limitation, this will be easy
to implement.
- Not too much memory checking at the time. Given enough small size files,
QDCopy will use every bit of memory availible to it, not leaving a
'stop-gap'. Some might consider this a feature I guess, but if you're
heavily multitasking when this happens, you'll have to wait until QDCopy
releases some memory up if your other programs need more memory. It does
ask nicely for memory, though, and shouldn't cause GURUS.
- QDCopy doesn't optimize memory or disk space usage. QDCopy stops the
reading phase when it encounters the first file that won't fit in the
availible contiguous memory, even if the next file could fit. Likewise,
when it is writing to the disk, and the disk is full, it will just
prompt for another disk rather than checking to see if the rest of the
files currently buffered will fit.
- QDCopy will only detect a full disk after it attempts to write a file
onto it. If the disk is full, it attempts to delete the incomplete
file, and prompts for a new disk. Checking the disk space before
writing to the disk is a little more complicated, since different file
systems have different block lengths, and since writing a new file also
involves disk space overhead. Basically, you cannot easily calculate
if a file of a given size will fit on a disk. Guess wrong, and
you waste space or end up with a disk full error anyways.
The above five points I can probably improve on, given enough time and
interest from you.
- The program will only copy files from one directory at a time. The
wildcard routines can handle multiple directories easily enough, but the
problem is how to handle the naming of the files in the destination
path.
- The program will not rename destination files, such as ARP's nifty
mass wildcard copy/rename operation. I don't know how to do this.
- No command line options. If there are any that you want, please tell me!
-----------------------------------------------------------------------------
Bugs:
No known bugs at this time. Please notify me of any bugs, crashes,
enforcer hits, or bad programming practises you notice in this program.
-----------------------------------------------------------------------------
Revision history:
10-Jul-91 - Creation date
15-Jul-91 - Version 1.0 First public release
-----------------------------------------------------------------------------
Disclaimer:
This program works to my knowledge. However, bugs may indeed be lurking
in this code, so if you choose to use this program, be forewarned.
I am not responsible for any loss or inconvenience caused by this program,
and it has no warranty or guarantee.
If you discover any bugs or missing features, I would like to know about
them so that I can fix them when I have the time.
-----------------------------------------------------------------------------
Distribution:
This program is 'User Group Ware'.
If you like it, join your local Amiga users group, and send me a letter
telling me about your user group. You will then be a 'registered' user
of the program. You will also benefit from being a member of a users
group, so its a win-win situation.
If you feel like it, you can send money or some freely
distributable software that you like, but this is purely optional.
For companies wishing to use this program for their own internal use, a
donation to the local user group greater than or equivalent to membership
fees for one year will suffice to become a 'registered' user.
The local user group here is AmiCUE (Amiga Commodore Users of Edmonton).
Meetings are on the third Thursday of every month.
Call 469-6694 for more information.
If you want updates, or request a new feature, send me a disk and enough
postage to get it back to you from here and I'll send you the latest
version, and anything else new I might come up with (if anything).
This program is freely distributable, with the following conditions:
1) This program shall not be used commercially without my prior permission.
Companies using this for their own internal use are free to use it as
stated above. All in all, this means that, without prior permission:
a) This program cannot be used in a commercial package.
b) This program cannot be used on disk magazines and on disks which sell
for more than what Fred Fish charges for his disk collection at the
time. Currently, this is $6.00US. Convert this to local currency, and
if the selling price without tax is more than this, you can't sell it!
Permission is explicitly granted to Fred Fish and all registered
Amiga user groups to distribute this program.
2) This program shall be distributed with all files intact. This means that:
a) All files must be distributed, including the executable, source code,
and documentation.
b) This program must not be disk warped. Disk warps are a pain for hard
drive users, are prone to virus infections, and some are not reliable.
LZH, ZIP, ZOO, ARC, PAK, and similiar file-oriented archives are fine.
c) None of the files should be distributed in powerpacked or likewise
crunched form. You may do so for your own use, but keep the original
uncrunched form for distribution, so that others may use it without
requiring special programs or suffering from that 'uncrunch' flash.
d) If you modify this program and wish to distribute it, you are free to
do so as long as you include your modified source code and executable
AS WELL AS the original source code, executable, and other files in
this distribution. Also, the conditions of the distribution must not
be changed (you still can't sell it or use it commercially).
In short, I don't want others taking credit for or making money from this
software, and don't want it to be distributed with missing or hacked up
files. Remember that I can waive any of the rules if you talk to me first!
-----------------------------------------------------------------------------
How to reach me:
MAIL: Darren Ewaniuk
Box 1262
Vegreville AB CANADA
T0B 4L0
This is my permanent address and will not change, unlike my
present address, as I am currently a student.
PHONE: (403)452-2658 (until end of December 1991)
(403)768-2431 (after December 1991 or if above fails)
USENET: ewaniu@ee.ualberta.ca -or- ewaniu@bode.ee.ualberta.ca
(until end of December 1991)
darrene@ersys.edmonton.ab.ca
(after December 1991 or if above fails)
BBS: I can be reached through Devil BBS in Edmonton AB CANADA.
I'm NOT the sysop here, but I do frequent this system.
My user name is (naturally) Darren Ewaniuk.
Its a very nice BBS with over 300 megs of Amiga files. If
its near you or if you don't mind long distance, try it out!
Devil BBS
Sysop Basil Barnes
(403)484-9200
Running on an Amiga 2500/30, with USRobotics Dual Standard
HST/V.32/V.42 capable modem and multi-serial card.
All Amiga files, over 300MB storage, running Skyline software.
Freely distributable software only - no pirated stuff here!
-----------------------------------------------------------------------------
_________ _________
This is | | This is | | DON'T DO IT!
your | O O | your | x x |
computer | + | computer | ___ | Just say NO!
| \___/ | on pirated | / U\ | ___ to piracy
|_________| software |_________| \
_________ _ _________ _ \[Computer sick
|[][][][][| |_| |#&%@!%$&!| |x| with a virus]
|][][][][]| | | /|^!*%@&*@#| | |\
|_________| |_| [Nasty words] |_________| |_| [Dead mouse]