home *** CD-ROM | disk | FTP | other *** search
-
-
-
- ░░░░ ░░░░ ░░ ░░ ░░░░░░ ░░░░░ ░░░░ ░░ ░░ ░░░░░░ ░░░░░
- ▒▒ ▒▒ ▒▒ ▒▒ ▒▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒
- ▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓
- ▓▓ ▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓▓▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓▓▓ ▓▓ ▓▓
- ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒
- ░░░░ ░░░░ ░░ ░░ ░░ ░░ ░░ ░░░░ ░░░░░░ ░░░░░░ ░░░░░░ ░░░░░
-
- ░░░░ ░░░░ ░░░░░ ░░ ░░
- ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒
- ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓▓▓
- ▓▓ ▓▓ ▓▓ ▓▓▓▓▓ ▓▓
- ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒
- ░░░░ ░░░░ ░░ ░░
-
-
-
- v 0.93
-
- by Colonel Hawk Productions
-
-
-
- Disclaimer (don't take this too seriously :)
- ----------
- You are using CCopy at your own risk! The author (Tarmo Toikkanen) is NOT
- liable for any damage caused by the use of CCopy or by the inability
- to use CCopy. If you are not sure about this, or if you do not accept this,
- then do not use CCopy. Simple.
-
-
- Contents
- --------
- Section Line Page Screen
- -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
- Disclaimer 27 1 2
- Quick Start 53 1 3
- Introduction 65 2 3
- General Information 89 2 4
- Command Syntax 141 3 7
- Command Line Options 178 3 8
- Examples 334 6 15
- Enhanced CON Access 488 9 22
- Prompts 539 9 24
- Specific Information 584 10 26
- Future Improvements 614 11 27
- Contacting the author 622 11 28
-
-
- Quick start
- -----------
- Just run CC without any options to see the command line options. Otherwise,
- if you know how to use the DOS command 'COPY', you can use this program as
- well. Reading these documents isn't necessary in the beginning, but it is
- highly recommended so that you learn to use all the advanced features CCopy
- can provide. This documentation is filled with tips on how to use all the
- options effectively. Especially the section 'Command line options' should be
- read well, and 'Examples' is another chapter that should be worthwhile.
-
-
- Introduction
- ------------
- Copying large files to a disk is one of the most frustrating things
- I know. When the file should fit perfectly on the disk, one single bad block
- can ruin your day. Or would you like to sit around some two minutes and then
- get a message in the lines of "Insufficient disk space"? Controlled Copy
- takes care of this problem permanently.
- Another frustrating thing is that you never know how much more time
- the copying is still going to take. Ten seconds? Two minutes? Controlled Copy
- solves this problem as well.
- These two major drawbacks in the DOS copy program were the main reason
- behind the development of CCopy. A simple thing like checking the available
- disk space and calculating the total size of all files was the first function
- coded. And now, at the end of several months of coding, recoding, adjusting,
- fine-tuning and beta-testing, CCopy is much much more than just a copy program
- with a safety mechanism.
- All the numerous command line options and runtime dialogs have been
- designed to give as much flexibility to the user as possible. Another
- consideration has been compatibility with MS-DOS's copy and 4DOS's copy, so
- all the options that they include will most probably still work the same way.
- And while designing the screen layout to be as informative, beautiful and
- simple as possible, we have not neglected to keep the performance at a high
- level (at least as fast as the normal copier).
-
-
- General information
- -------------------
- Controlled Copy works very much like the normal copy command in
- MS-DOS. In fact it can do all the things the normal copy can do, with an
- identical command line, and it does lots more. The interface has been
- designed to be as similar to the normal copy as possible, as well as the
- popular 4DOS's copy program. CCopy is more flexible and user-friendly than
- either one of them while retaining their simple interface. CCopy has been
- kept as fast as the conventional copy programs, and perhaps even a little
- faster.
- CCopy has been built to be extremely safe. As it isn't a commercial
- product I cannot guarantee that it will always work perfectly, but I _can_
- guarantee, that when it copies a file, it copies it 100% correctly. The only
- problems may be the sort that CCopy doesn't understand your command line
- arguments correctly, but as the results are shown on the screen, you can
- always spot those errors. However, extensive beta-testing for several months
- has been performed on all kinds of situations to ensure maximum working
- efficiency. Four actively used computers have used CCopy exclusively since
- the beginning of year 1994. All errors reported have been corrected within 24
- hours and new features have been developed in the mean time. And, for most of
- the time, CCopy actually works. :)
- CCopy accurately checks available disk space before each file, so
- that nothing is copied for naught. CCopy also shows bars, percentages and
- estimated time left (the ETA :) so that you always know how much has been
- done and how long you have to wait. A final beep at the end (if you want to)
- tells you when the copying has been finished.
- Other small improvements are the update and refresh options (explained in
- detail later on), which are found in all the archive programs; now your file
- copier has the same capabilities. A great help in copying to several disks is
- the automatic pause capability, which allows you to switch diskettes when
- they're full - no need for any XCopy-archive-bit-manipulation. CCopy works
- out pretty nicely under multitasking systems too, in case you run out of free
- disk space.
- Even the append copy (where several files are sequentially copied to one
- single file) is easier to use, no plus-signs in between are needed (but are
- accepted, of course). Subdirectory copy is also included, where you can copy
- a directory's contents and all its subdirectories with their contents to
- another location. And combining it with the move-option will effectively move
- entire directory trees from one location to another.
- Multiple source masks are naturally supported (although care should be
- taken when using multiple masks with subdirectory copying), which means you
- can copy files from several locations and/or several different mask
- conformations (see examples later on).
- Moving files (with the /M option) from one directory to another (within
- the same drive) is done by altering the file's directory entry in the FAT on
- the disk, so that all files regardless of size are moved at an extremely fast
- rate. When using /S and /M (or /SM), you can move entire subdirectory trees
- containing several hundred megabytes in just a few seconds. You no longer
- need a separate file mover in addition to the file copier; CCopy replaces
- both of them.
-
-
- Command syntax
- --------------
- CC source1 [source2 [source3...] destination] [options]
-
- You always have to provide at least one source mask, and others can
- be added whenever needed. The last mask is always the destination, unless
- you provide only one mask in which case the destination will be the current
- working directory in the current drive (see examples later on). This is the
- way the DOS copier works, so nothing difficult there.
- Options must always begin with a '/' character, otherwise they're
- considered normal file masks. All the options can be entered anywhere on the
- command line and they can be written without spaces and slashes in between
- (see examples, again). All options are handled from left to right, with the
- contents of the enviroment variable CCOPY handled first. This allows you to
- define your favourite options in the enviroment variable, and then disable
- them on the command line whenever you need to. When using 4DOS aliases, you
- should enter the '%&'-sign after any options that are defined there so that
- you can disable them at any time, for example:
- ALIAS CC=C:\UTILS\CC.EXE /4r %&
- Command line parsing is very much enhanced from the original DOS copy
- program's parser. For example, you can now move up in the directory tree
- more easily. If using MS-DOS's copier, you would have to type:
- COPY ..\..\WORD\*.TXT D:\FILES
- whereas with CCopy you can type:
- CCOPY ...\WORD\*.TXT D:\FILES
- You can move up as many steps as you want; two dots for one level, three for
- two levels, four for three levels, etc. You can also enter directory names
- more freely, meaning that you can add the backslash after it if you want to,
- but it is never required (although the trailing backslash in the destination
- has a special meaning). Again, see examples. CCopy supports 4DOS extended
- wildcards which means that a mask like "*t*.*" will copy all files that have
- a 't' somewhere in their name (MS-DOS would copy all files).
- CCopy always interprets "." as "*.*". You can also enter wildcards in the
- destination, in which case the files' names will be changed accordingly
- (standard DOS copy operation). See examples.
-
-
- Command line options
- --------------------
- Command line options can be entered anywhere on the command line and quite
- freely:
- CC /V0 *.* /D /C e: /S ; correct, options can be entered anywhere
- CC *.* /V0/D/c/s e: ; correct, no blanks in between are needed
- ; and case is irrelevant
- CC *.* e: /sdv0c ; correct, only the first slash (/) is needed
- CC *.* e: /sd 4c ; WRONG, "4c" looks like a file mask
-
- All available options are listed here:
-
- /R replace: Automatically overwrites any already existing files when a file
- with the same name is being copied. Use with caution.
- /K keep: If a file with the same name already exists in the destination
- directory, the file will automatically be skipped.
- /U[-] update: If a file with a same name already exists on the destination
- drive, it will be automatically overwritten if it is older than
- the file that is being copied. Appending a minus sign disables
- this option.
- /C[-] changed: Files are copied only if a file with the same name exists on
- the destination directory and it is older than the file that is
- being copied. Appending a minus sign disables this option.
- TIP: When you get a new version of a program, you can use this
- option to copy only the files that you need over the
- previous version files:
- CC A:\PKZIP204\*.* C:\ZIP\ /C
- If you have only the executables and documents (*.EXE,
- *.DOC) in C:\ZIP, then only they will be copied and
- all other unimportant files are skipped.
- /P[-] prompt: Asks confirmation before copying each file. This option
- overrides any /C and /U options and they can't be activated
- even if entered after this option before prompting has been
- disabled (by /P-). Appending a minus sign disables
- this option.
- TIP: Use this when you can't define the source files very
- easily on the command line. When CCopy is running, you
- can skip/accept/rename each file individually or
- skip/accept all later files.
- /M[-] move: Source files are deleted after they have been copied.
- Use with caution. Moving files within one disk drive is done
- by altering the directory information without touching the
- actual contents of the file - resulting in extremely fast
- performance. Note that it isn't safe (or allowed) to use /A
- (append) while moving files. Appending a minus sign disables
- this option.
- TIP: Using /MS you can move entire directory tree structures
- easily.
- /N nothing: Copies nothing, but shows what would happen. Still reads the
- files normally, just doesn't write them.
- TIP: Use this when you're doing a complicated copy with many
- options, exclude masks and source masks to see that you
- haven't made a mistake. Use /NP to get CCopy to pause at
- every file.
- /V[+|-]verify: Temporarily enables DOS verify flag or disables it (/V-).
- TIP: You don't need to define VERIFY ON to slow down your
- computer, but rather use /V when you need to copy files
- to diskettes. This way the files are safe and disk access
- is slowed down only during that copy procedure.
- /Vx view: Defines what you see on the screen during copying.
- What information to show about each file is defined by 'x'.
- Default value for x is 3.
- /V0 : Nothing will be displayed
- /V1 : Only file names are shown (browse mode)
- /V2 : File names and sizes are shown
- /V3 : File names, sizes and progress indicators are displayed
- /V4 : Only one progress indicator is shown on one single line
- TIP: /V0 and /V4 leave the screen untouched after the copy
- procedure - but /V4 still shows progress during copying
- /Tx totals: Defines what information is shown after copying all files.
- What information will be shown at the end of copy is defined
- by 'x'. Default value for x is 2.
- /T0 : No information - nothing will be displayed
- /T1 : Normal information - total files and total bytes copied
- /T2 : Extended information - total files, total bytes, total
- copy time, free disk space and copying speed
- /Q quiet: Same as /v0t0, meaning that nothing will be written on
- the screen.
- TIP: Good for batch operations
- /O[-]optimize: When copying several files to diskettes you might want to fill
- the disks as well as possible. Using this option forces CCopy
- to copy all files that fit on the disk, rather than asking for
- a new disk whenever the next file won't fit. If you use sub-
- directory copying (/S) this option will be disabled, for
- obvious reasons. Files are not copied in the original order,
- but in decreasing order of size, which ensures that all disks
- are filled as well as possible. Appending a minus sign
- disables this option.
- TIP: Use this whenever you need to copy files to several disks
- to ensure that they are filled as well as possible.
- /B[-] beep: Beeps when copying is finished or when a prompt is displayed.
- Different tones for errors, prompts and finish. Appending a
- minus sign disables this option.
- TIP: Use this during diskette copying, so that you don't need
- to come to the screen every now and then to check if you
- need to do something - CCopy will beep every time copying
- stops: prompts, errors, completion.
- /S[-] subdirs: Copies all subdirectories of the directory specified in the
- command line. If a file mask is given in the source parameter,
- that file mask will be applied to all subdirectories. Please
- be careful if you use this option with several source masks.
- Appending a minus sign disables this option.
- /D[-]dir-copy: This option is for all those who write quickly and not so
- perfectly. In effect, this option requires that the destination
- is always a directory, never a file. In case the destination
- isn't a directory, you will be prompted for confirmation before
- proceeding. You can then choose that CCopy creates the
- destination directory for you or copies the source file into
- a single file. If you append a backslash at the end of the
- destination, this option will be activated automatically.
- Appending a minus sign disables this option, but not if a
- backslash is used as mentioned before. See examples.
- TIP: Using this option as a default means that you need one
- extra keypress when copying a file to another name, but
- prevents you from the accident of mistyping the
- destination directory name.
- /H[-] hidden: All hidden and system files are also copied. Appending a minus
- sign disables this option. Be careful when using /H with /M,
- as you may accidentally move some important system files.
- When not using the /H-option, all copied and moved files will
- have only the archive-attribute set and all others unset. This
- means that any read-only files will be copied into normal
- files. When using the /H-option, all files retain their
- attributes so that read-only files remain unwritable as
- opposed to normal operation. System files and hidden files
- (and all combinations thereof) also remain unchanged.
- Appending a minus sign disables this option.
- /A[-] append: Appends all source files in sequence to the end of the
- destination file. You can also use plus-signs between file
- masks to append them together. If there's a plus-sign between
- every mask, then the first one is used as the destination and
- all others are appended to it, otherwise you must put a plus-
- sign between each mask except before the last one, which will
- then be the destination. You aren't allowed to move files while
- using /A. Appending a minus sign disables this option.
- TIP: Use this with CON to type to the end of a file.
- CC CON D:\COMMENTS.TXT /A
- /4[-] 4DOS: 4DOS description support. When this option is enabled, CCopy
- transfers the comments in DESCRIPT.ION just like the normal
- 4DOS copy program. When calculating free space on destination
- drive, the description file is not taken into account and may
- not fit into the disk, but this is quite rare as the size
- increase is often quite small.
- /[] range: Only files that fall within the range are copied. This
- feature is from 4DOS, and now includes all three versions;
- size, date and time ranges. See examples for instructions.
- [] exclude: If a file mask is inside brackets (note that there is no slash
- in front), it will be translated as an exclude mask. If a file
- matches any given exclude masks it will be skipped. You can
- have up to ten different exclude masks, but note that they
- must not contain a path, only a file mask. See examples.
- TIP: If you accidentally open an archive file in the directory
- where you keep your archives, use this to clean the mess:
- CC *.* [ *.ZIP *.ARJ *.LZH] /M E:\TEMP
-
-
- Examples
- --------
- CC /R *.EXE D:\TOOLS\FRACTINT\*.* C:\FILES
- CC /R *.EXE D:\TOOLS\FRACTINT\. C:\FILES
- CC /R *.EXE D:\TOOLS\FRACTINT\ C:\FILES
- CC /R *.EXE D:\TOOLS\FRACTINT C:\FILES
- All these four lines are operate identically. They copy all files in the
- current directory with the extension EXE to C:\FILES, and all files in
- D:\TOOLS\FRACTINT as well, while overwriting any existing files (/R).
- CC *.zip /U a: /B
- Copies all files with an extension ZIP to drive A, asking for another
- disk when there's no more space left (this works automatically) and beeping
- at the end and at the prompts. If a file by the same name exist already and
- is older than the file to be copied, it will be automatically overwritten,
- otherwise the source file will be skipped.
- CC *.* d: /R /4-Q
- Copies all files in the current directory to drive D's working directory
- automatically overwriting all duplicate files and displaying nothing on
- the screen. (Good for batch files operations.) 4DOS's description
- capability is also disabled (in case it has been enabled earlier in an
- alias definition of CCOPY enviroment variable).
- CC D:
- You can't make the command line much shorter. Copies all files from drive
- D's current directory to the current working directory of the current
- drive.
- CC D: E: .
- This line, on the other hand, copies all files from the current directory
- of drives D and E to the current working directory. Note that since more
- than one source mask is used, the destination must be defined. (Dot means
- current directory.)
- CC D: E:
- This version copies all files from drive D to drive E, not the current
- working directory (as opposed to the previous command line).
- CC ...\TC\*.EXE D:\TEMP /cN
- Copies all exe files from a subdirectory called TC two steps up from
- current working directory (i.e. if you are in C:\TOOLS\ASM\WORK this
- command would copy files from C:\TOOLS\TC). And all files that don't
- have an older version of them in D:\TEMP will be skipped automatically.
- And finally, /N-option (notice the combining of the two options) prevents
- actual disk writing to just show you what files would get copied and what
- would be skipped.
- CC . D:\DRVFILES /D
- CC . D:\DRVFILES\
- Both these lines copy all files from the current working directory to a
- directory on drive D. The /D-option means that in case you mistype the
- directory name accidentally, no copying will be done if you don't
- specifically want to. Appending a backslash (the second example) does the
- same thing, but the /D-option can be added to a batch file or an alias list
- to make CCopy default to it. So if you write something like D:\DVFILES your
- files won't be copied into a file DVFILES in the root directory.
- CC *.exe *.bak
- Will copy all files with the extension EXE into files with the extension
- changed into BAK. For example: TESTER.EXE and NEWFILE.EXE would be copied
- into TESTER.BAK and NEWFILE.BAK.
- CC *.* OLD_*.*
- Will copy all files in the current working directory into files that begin
- with 'OLD_'. For example: DATAFILE.DAT, TESTER.EXE, NEWFILE.EXE, MYPROG.BAT
- and DATA.BAK would be copied into OLD_FILE.DAT, OLD_ER.EXE OLD_ILE.EXE,
- OLD_OG.BAT and OLD_.BAK respectively. As you can see, you can easily mess
- up the file names when using wildcards in the destination, so be careful.
- CC file1.dat+file2.dat +file3.dat allfiles.dat
- CC file?.dat allfiles.dat /A
- Both lines do the same thing, append the three files into a single file.
- The plus-signs function just like in the normal copy-program. They are
- implemented simply for compatibility's sake, as the second format is a lot
- simpler; consider this for example: "CC *.* all.dat /A". Quite hard to do
- with plus-signs. Note that you can freely have spaces between plus-signs
- and file names.
- CC message.txt COM2
- CC print.me PRN
- CC test.zip NUL
- CC CON PRN
- These lines demonstrate how to send files to different devices like modems
- and printers (or the null device - only usable as a file read speed test).
- The last line will use CCopy's enhanced console interface (see next
- chapter) to send characters typed from the keyboard to the printer. CON
- can also be used to write text and control characters to a file,
- eg. CC CON file.ext. Using the /A-option will append your typing to the
- end of the file.
- CC *.txt e: /[s100k,150k]
- CC *.txt e: /[s 100k,+50k ]
- CC *.txt e: /[s100000, 150000]
- All lines have the same effect, which is that only if a file is between
- 100,000 and 150,000 bytes long will it be copied. The 's' after the first
- bracket means a size range, and 'k' means 1000 bytes. 'K' means one
- kilobyte (1024), 'm' means million bytes and 'M' one megabyte (1024*1024).
- Note that you can always enter extra spaces between brackets.
- CC *.zip /[s1M] d:\temp
- As you can see the upper limit is optional. This line will copy all .zip
- files that are at least 1 megabytes long.
- CC a:*.zip /[s400k,150000]
- CC a:*.zip /[S150k,+250000]
- CC a:*.zip /[s400000,-250k]
- Again, all these lines do the same thing. Unlike in 4DOS, it doesn't
- matter which of the numbers is larger, and you can use either plus or
- minus signs in front of the second number (4DOS only allows plus-signs).
- The signs mean that the other limit is that much higher or lower than the
- first one.
- CC *.zip e:\ /[D8-20-94,8-24-94]
- CC *.zip e:\ /[d20.8.94,24.8.1994]
- CC *.zip e:\ /[D20/08/94,+4]
- These three lines demonstrate the use of the date range (notice the 'D'
- in the beginning). All the lines operate identically. If you use the minus-
- sign in between the numbers, the first number will be the month and the
- second the day. Using any other sign (dot, comma, slash, etc.) means that
- the first number will be the day and the second one the month. The year can
- be entered with just two digits or all four. Also, using a plus on minus
- sign before the second set of numbers will make them relative to the first
- one (in days).
- CC a: /[d-1]
- CC a: /[D-1,+1]
- When the first number is preceded by a plus or minus sign, it will be
- relative to the current date, i.e. here it would mean all files from today
- or yesterday. If the second date is omitted, the current date will be used
- in its place. The second line works likewise, as the second number is one
- greater than the first one, i.e. today.
- CC a: /[D-1,+0]
- Copies files only from yesterday.
- CC a: /[d22.9.93@15:00,+2@10:05]
- Using the '@'-sign you can enter a time for each (or just one) limit. In
- this case all files newer than 22.9.93 15:00 and older than 24.9.93 10:05
- are accepted. Again, like with the size range, it doesn't matter which
- date is larger.
- CC *.exe d:\temp\*.bak /[t11:00,13:05]
- CC *.exe d:\temp\*.bak /[t11:00,+125]
- CC *.exe d:\temp\*.bak /[t13:05,-125]
- All three lines work in the same manner. All files that have a time stamp
- between 11:00 and 13:05 are copied. Again, you can use relative numbers
- (in minutes) in the second time.
- CC *.exe d:\temp\*.bak /[t-120]
- If the first time is relative, it will be relative to the current time.
- This line copies all files that have a time stamp of 0 to 2 hours less
- than the current time.
- CC a: /[d+0@-120]
- Copies all files that are less than two hours old (current date and 120
- minutes less than the current time).
- CC . [*.exe] [ *.com] a:\backup
- CC . [ *.exe *.com ] a:\backup
- These lines demonstrates the use of exclude masks. All files, except those
- with the extension 'exe' or 'com' will be copied. Again, note that extra
- spaces between brackets are ignored (4DOS users will appreciate this) and
- several masks can be entered in single brackets.
- CC . [ *.zip *.arj *.lzh] \TEST /M
- This is a good line to remember if you have a lot of ZIP-files. In case
- you accidentally open one of them in the same directory, this command line
- will easily move the correct files and clean the directory for you.
-
- And, if you still aren't sure how your command line will behave, use the
- /N-option (no copying) or the /P-option (prompts before copying each file),
- or both (/np) to be on the safe side. Especially when using some complex
- selection ranges it's always a good idea to use /NP to make sure you don't
- mess anything up.
-
-
- Enhanced CON access
- -------------------
- COPY CON file.ext
- This line is very familiar to all those who were around when good text
- editors weren't. Nowadays EDIT file.ext is much easier and more effective to
- use. You might think that the copy command supports the console only for
- compatibility's sake, but there is, in fact, one thing that COPY CON does
- better than MS-DOS edit and most other editors as well: control characters.
- Not many editors let you write BEEPS (ascii 7) or page breaks manually,
- but COPY CON does. It interprets all 'unprintable' ascii characters into
- control codes, like ^A,^B,^M and so on. CCopy takes this process one step
- further and allows you to enter ANY ascii codes into a file. Normal writing
- still works fine, but now backspace, tab, enter, ESC and all other keys are
- written directly into the file. An added feature is that everything is
- printed on screen (that's right - everything) by using direct VGA memory
- manipulation. Now all the smileys (ascii codes 1 and 2) and the rest of them
- are visible, not merely ^X -symbols. Note that MS-DOS and 4DOS copiers cannot
- write escape characters (27) to a file as they interpret it as an editor
- command. In fact, CCopy is the only program I am aware of that can write
- escape codes entered directly from the keyboard (EDLIN could do that as well,
- but - sadly - it has been replaced by MS-EDIT).
- Special keys may be entered from the keypad as well, by depressing ALT
- and 'dialing' the ascii code on the keypad (not keyboard). Another way of
- entering some control characters is by depressing control and pressing an
- appropriate letter key; ^A,^B,...,^X,^Y, are all available this way. (Except
- ^C and ^Z which are used to close the file.) MS-DOS and 4DOS copiers use this
- method, but on the screen they show only those symbols from ^A to ^Z. CCopy
- shows the real ascii characters.
- When you've finished typing, pressing CTRL-Z or CTRL-C will close the
- file and proceed normally with the copying (if there are other source files).
- At one point you may mistype a letter and want to remove it with backspace.
- Pressing backspace alone will just echo ascii 7 to the screen and the file.
- And instead of just entering ascii 13 (carrier return), you might want to
- enter the return combination (13+10: carrier return and line feed). Remember
- that CC CON is primarily for entering those tough control characters, not a
- fully developed text editor. But because some special functions are quite
- useful (like those described earlier) they are implemented in CCopy.
- By using either SHIFT-key these special functions become available:
- Backspace: No longer echoes ascii 7 but removes last character.
- Enter: Inserts CR/LF (13+10) instead of CR (13) and starts a new line
- on the screen.
- CTRL-Z: Closes the file without writing the ^Z-character to the file.
- CTRL-C: Closes the file without writing the ^C-character to the file.
-
- Remember that CON cannot be used as a destination and that whenever one or
- more of your source masks are the console, the destination must be a single
- file, no wildcards or directory names are allowed. Of course, CCopy makes
- always sure that no dangerous stunts are pulled. Using the /A-option will
- easily and effectively allow you to write to the end of the file.
-
-
- Prompts
- -------
- There are several different prompts that you can encounter when using
- CCopy, but most of them only require a yes/no response and are pretty self-
- explanatory. A few may need some explaining however:
-
- (1)
- Copying FONT.TXT => FONT.BAK
- FONT TXT 2Kb Overwrite FONT.BAK (older,smaller)? [y/n/a/s/r]
-
- The information in parantheses concerns the already existing file that is
- about to be overwritten. In this case we see that FONT.BAK is older and
- smaller in size than FONT.TXT. The possible answers are in brackets.
- Responses: Y)es, overwrite the old file with the new one
- N)o, skip this file and continue with the next one
- A)ll, automatically allow all following files to overwrite
- already existing files (same as /R-option (replace))
- S)kip, automatically skip all following files that would overwrite
- an already existing file (same as /K-option (keep))
- R)ename, lets you enter a new name for this file (no path, just
- the name)
-
- (2)
- If the destination drive doesn't have enough free space to accomodate
- all the files that you've specified, you will be prompted:
-
- Not enough free space for all files. Continue anyway? [Y/n]
-
- If you choose to continue, CCopy will pause when the disk is full and wait
- for you to change the diskette or make more free space (or stop there).
- Note that all the possible responses are in brackets, and if one of them
- is capitalized, it is the default response which will be used if you press
- any key that isn't listed.
-
- (3)
- For added security, CCopy asks for confirmation if you're appending files
- and haven't specified the /A-switch. This has been implemented simply because
- quite often this type of command is due to a misspelling:
- CC *.* D:\FILES\BACXKUPS
- when the correct directory name is D:\FILES\BACKUPS. A normal copy program
- would copy all your files one after the other to a file name BACXKUPS. And if
- you had moved those files the next step would be UNDELETE.EXE (which possibly
- wouldn't be able to get all the files back).
-
-
- Specific information
- --------------------
- Controlled Copy reads and writes files in 48kB blocks. Larger blocks
- would mean faster operation, but then the screen update intervals would
- become too long and increasing the block size over 48 kBytes doesn't improve
- the performance enough to be worthwhile. And 48kB is 6 times 8kB which is the
- most common cluster size; so every read and write is exactly 6 clusters long,
- which does have a slight positive effect. Without screen update during copy,
- Ccopy is a bit faster than the ordinary copy program and with screen update
- only 0% to 1% slower, depending on the disk drives' speed and the speed of
- your video controller. This delay however is too small to be noticed without
- timing the procedures and since you get a much nicer enviroment with Ccopy,
- then why continue using the normal copy?
- Support for an enviroment variable is implemented. You can define all
- your favorite options in a variable named CCOPY. Any options that are entered
- in the command line will override the options of the enviroment variable.
- Example: SET CCOPY=/V1T2B/H /4 (all slashes are optional).
- All screen updates are done using standard BIOS-calls, so that CCopy
- doesn't mess up your windows if you use a multi-tasker. A notable exception
- is the enhanced console interface, which writes directly to video memory.
- No color or graphics monitor is required, everything works well in a B&W 80
- column screen.
- Controlled Copy has been coded entirely in Borland's Turbo C++ 3.1.
- DOS errorlevel codes returned by Ccopy are as follows:
- 0 - succesful operation
- 1 - not enough free space
- 2 - error in command line
- 3 - unexpected (serious) error
-
-
- Future improvements
- -------------------
- Known improvements:
- Advanced optimization for copying to disks
- Possible improvements:
- SRDisk (ReSizeable Ram Disk) size altering support
-
-
- Contacting the author
- ---------------------
- Your support is greatly appreciated! If you at any time feel that there is
- something this copier lacks, inform me about your ideas and, if they are
- reasonable, useful and possible, they will be added. YOU can affect the way
- this program will develop in the future.
-
- And if you at any time discover an error in the program, _please_ try to
- inform me. As this program constantly develops and grows, some of the older
- functions may start acting erroneously and I possibly can't do a foolproof
- test scan on all aspects of the program. But when you report a bug, I know
- what to look for and I'll be able to fix it within 24 hours. Of course, you
- must wait a few weeks for the next release, but by then CCopy will be better
- than new. (Actually it _will_ be new.. :-)
-
- And finally, if you have nothing to report, you can still let me know what
- you think of the program. It's always nice to get comments, so that I know
- someone finds this utility useful.
-
- So... For any bug reports, improvement ideas and comments:
- 1) Post a message to the following e-mail address: ttoikkan@gamma.hut.fi
- 2) Write a message in Metropoli BBS to Tarmo Toikkanen.
- One node to Metropoli: (358)0-455 4829
- 3) Call (358)0-493 169 (voice only)
- 4) Send snailmail to:
- T. Toikkanen
- Ruusulankatu 19 A 26
- 00250 Helsinki
- FINLAND
-
-
- Tuesday, 6th September, 1994 - Colonel Hawk
-