home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Dream 52
/
Amiga_Dream_52.iso
/
Amiga
/
Workbench
/
Patches
/
CopyReplace.lha
/
CopyReplace.doc
< prev
next >
Wrap
Text File
|
1998-05-08
|
10KB
|
274 lines
Advantages of this Copy:
- can be called like original Copy - complete replacement
- replaces programs Copy, MakeLink, Delete, Rename, MakeDir (and Move)
- has option to delete source-file (MOVE)
- can rename the files instead of moving (when on same device)
- can produce hardlinks and softlinks
- has 3 different grades of beeing quiet
- able to copy protection bits, comments, dates
- processes directories recursive
- may turn off overwrite mode
- may force overwriting (unprotect destination)
- may force deletion (unprotect source)
- produces destination directories recursiv! (Not only the last one)
Copy needs OS 37 (2.0) or later OS versions!
Of course this Copy is reentrant (pure bit) like the original one.
**************************************************************************
USAGE:
FROM/M,TO,PAT=PATTERN/K,BUF=BUFFER/K/N,ALL/S,DIRECT/S,CLONE/S,DATES/S,
NOPRO/S,COM=COMMENT/S,QUIET/S,SILENT/S,NOREQ/S,ERRWARN/S,MAKEDIR/S,
MOVE/S,DELETE/S,HARD=HARDLINK/S,SOFT=SOFTLINK/S,FOLNK=FORCELINK/S,
FODEL=FORCEDELETE/S,FOOVR=FORCEOVERWRITE/S,DONTOVR=DONTOVERWRITE/S,
FORCE/S:
FROM multiple input files
TO destination file or directory
PATTERN a pattern the filenames must match
BUFFER buffersize for copy buffer (default 200 [100K])
ALL deep scan into sub directories
DIRECT copy mode only: copy file without any tests or options
CLONE copy comment, protection bits and date as well
DATES copy dates
NOPRO do not copy protection bits
COMMENT copy filecomment
QUIET suppress all output and requesters
SILENT suppress output, but not errors and requesters
NOREQ suppress requesters
ERRWARN do not proceed, when one file failed
MAKEDIR produce directories
MOVE delete source files after copying successful
DELETE do not copy, but delete the source files
HARDLINK make a hardlink to source instead of copying
SOFTLINK make a softlink to source instead of copying
FOLNK also makes links to directories
FODEL delete protected files also
FOOVR also overwrite protected files
DONTOVR do never overwrite destination
FORCE DO NOT USE. Call compatibility only.
**************************************************************************
FROM:
Source file(s). For directories, all contained files are source files. May
have standard AmigaDOS patterns.
TO:
Destination file or for multiple sources destination directory. Destination
directories are created (including all needed parent directories).
PAT=PATTERN:
PATTERN allows to specify a standard dos pattern, all file have to match.
This is useful with ALL option.
Example:
When you want to delete all .info files in a directory tree, you need
this option: Copy DELETE #? ALL PAT #?.info
BUF=BUFFER:
Specify the number of 512 byte buffers for copying. Default are 200 buffers
[100KB memory]. One buffer is minimum size, but should never be used.
ALL:
Scan directories recursively
DIRECT:
Certain devices do not allow some of the used DOS packet request types.
This option is a really easy copy command, which only opens source and
destination directly without any tests and checks.
Options ALL, PAT, CLONE, DATES, NOPRO, COM, MAKEDIR, MOVE, DELETE, HARD,
SOFT, FOLNK, FODEL, FOOVR, DONTOVR and multiple input files cannot be
specified together with DIRECT. This options needs one input and one output
file.
When you want to delete a softlink, which does no longer point to a valid
file, you need this option as well.
Example use: 'Copy DIRECT text PRT:' to print a file called text.
- Copy manages a lot of such cases automatically, but maybe this option is
needed sometimes.
CLONE:
The filecomment, date and protection bits of the source files are copied to
destination file or directory.
DATES:
The date information of source is copied to destination.
NOPRO:
The protection bits of sources are NOT copied. So the destination gets
default bits [rwed].
COM=COMMENT:
The filecomment is copied to destination.
QUIET:
Copy is completely silent here. Really no output is given, also no requests
for missing disks or other problems!
SILENT:
Copy is silent. Only error messages and requests are printed.
NOREQ:
No standard DOS requests are displayed, when an error occurs.
ERRWARN:
Copy knows and returns the 3 types of dos.library errors:
5 WARN The processing of one file failed, Copy skips this file
and proceeds the next.
10 ERROR The creation of a directory or any other bad error happend.
Copy quits after that.
20 FAIL A really hard error happend (No memory, Examine failed, ...)
Copy quits after that.
When option ERRWARN is used, the result 5 (WARN) gets result 10 (ERROR). So
Copy aborts everytime an error occured.
MAKEDIR:
All names specified in FROM field are taken as directories, which must be
created.
MOVE:
The files are not copied, but moved (or renamed). This means that after
move operation the source does no longer exist.
DELETE:
This does not copy anything, but delete the source files!
HARD=HARDLINK:
Instead of copying the files, a hard link is created. This only works,
when destination is on same device as source.
When ALL option is specified, the directories are scanned recursively, else
Copy produces links to the directories.
SOFT=SOFTLINK:
Instead of copying directories, a soft link is created. These links are
useable between different devices also. Soft links are only created for
directories. Files are skipped here. Option FORCELINK is therefor always
set to true.
NOTE: Softlinks are not official supported by OS and may be dangerous.
I suggest not to use this option! See description below.
FOLNK=FORCELINK:
When linking of directories should be possible, this option is needed. See
section "About links" for possible problems.
FODEL=FORCEDELETE:
When this option is enabled, files are deleted also, when they are delete
protected.
FOOVR=FORCEOVERWRITE:
When this option is enabled, files are overwritten also, when they are
protected.
DONTOVR=DONTOVERWRITE:
This option prevents overwriting of destination files.
**************************************************************************
Some comments on how the program does it's job:
The program has 6 working modes: COPY, MOVE, SOFTLINK, HARDLINK, DELETE and
MAKEDIR. Only one of these can be used at same time!
Move option renames the files, when on same device, else the file is copied
and the source deleted after that.
When a directory is processed and on the same device it is renamed! This
means MOVE option copies complete directories also without ALL option (when
on same device).
In Copy mode you may use f.e. "Copy C: RAM:K" instead of "Copy C:#? RAM:K".
For the other modes this does not work!
Destination files are always overwritten, except DONTOVERWRITE is turned
on, or they are protected.
When the destination directory does not exists, it is created. Existing
files with same name are overwritten. When some parent directories do not
exist, they are also created. This is also done, when only one file is
copied.
The program does a loop detection, so that copying/moving/linking with a
sub directory of source as destination and ALL option is not possible.
Example: Copy RAM:S RAM:S/C ALL
**************************************************************************
Useful aliases you may add to S:User-StartUp:
Alias Delete Copy [] DELETE
Alias MakeDir Copy [] MAKEDIR SILENT
Alias MakeLink Copy TO [] HARDLINK SILENT
Alias Move Copy [] MOVE CLONE
Alias Rename Copy [] MOVE CLONE SILENT
Some programs do want the files to be in C: directory. For these you may
additionally use following lines:
Alias C:Delete Copy [] DELETE
Alias C:MakeDir Copy [] MAKEDIR SILENT
Alias C:MakeLink Copy TO [] HARDLINK SILENT
Alias C:Rename Copy [] MOVE CLONE SILENT
**************************************************************************
About links:
HARDLINKS:
When copying one file to annother place on same disk, the file afterwards
uses double space. Links are a method to resolve that problem. When using
a link, the file is not copied, but only a new entry to the same data as
created. This saves space and allows to have copies of files always
up-to-date (as when on link is updated, all the others are new as well).
SOFTLINKS:
This is a link method, which is NOT official supported by the OS. Soft links
do not need to be on the same partition. The may be used for references
between different partitions.
NOTE: Using this links may cause lots of problems. You may test for yourself
if it works for you!
PROBLEMS:
Links to directories may cause infinite directory loops!
Example: Having following directory tree:
DEV:
/ \
A B
Some loops are detected, for example when trying to do:
MakeLink DEV:A/C DEV:A FORCE
Here you get an error message, that loops are not allowed.
Some more complicated links cannot be detected:
MakeLink DEV:A/C DEV:B FORCE
and
MakeLink DEV:B/C DEV:A FORCE
Till now no error message is possible, so the result is an infinite loop.
**************************************************************************
This program is Freeware. Use it as you want, but WITHOUT ANY WARRANTY!
Although you get program and complete sources, this program is still
copyrighted by me. No changes should be done to it or it's distribution
archive contents.
When you use this program more than once, you have to contact the author
via e-mail or snail-mail!
Please report me bugs, comments, suggestions and problems. If there are
some Enforcer hits or other problems report them as good as possible.
Please contact me:
****************************************************************************
* snail-mail: * e-mail: *
* Dirk Stoecker * stoecker@rcs.urz.tu-dresden.de *
* Geschwister-Scholl-Str. 10 * stoecker@amigaworld.com *
* 01877 Bischofswerda * world wide web: *
* GERMANY * http://gremlin.home.pages.de/ *
* phone: * pgp key: *
* GERMANY +49 (0)3594/706666 * get with finger or from WWW pages *
****************************************************************************