home *** CD-ROM | disk | FTP | other *** search
- 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]
-