home *** CD-ROM | disk | FTP | other *** search
/ Tools en Utilities / CDASS_5.ISO / shell / file / ccopy093.arj / CC.DOC next >
Encoding:
Text File  |  1994-09-17  |  37.0 KB  |  653 lines

  1.  
  2.  
  3.  
  4.  ░░░░    ░░░░   ░░  ░░  ░░░░░░  ░░░░░    ░░░░   ░░      ░░      ░░░░░░  ░░░░░
  5. ▒▒  ▒▒  ▒▒  ▒▒  ▒▒▒ ▒▒    ▒▒    ▒▒  ▒▒  ▒▒  ▒▒  ▒▒      ▒▒      ▒▒      ▒▒  ▒▒
  6. ▓▓      ▓▓  ▓▓  ▓▓▓ ▓▓    ▓▓    ▓▓  ▓▓  ▓▓  ▓▓  ▓▓      ▓▓      ▓▓      ▓▓  ▓▓
  7. ▓▓      ▓▓  ▓▓  ▓▓ ▓▓▓    ▓▓    ▓▓▓▓▓   ▓▓  ▓▓  ▓▓      ▓▓      ▓▓▓▓    ▓▓  ▓▓
  8. ▒▒  ▒▒  ▒▒  ▒▒  ▒▒  ▒▒    ▒▒    ▒▒ ▒▒   ▒▒  ▒▒  ▒▒      ▒▒      ▒▒      ▒▒  ▒▒
  9.  ░░░░    ░░░░   ░░  ░░    ░░    ░░  ░░   ░░░░   ░░░░░░  ░░░░░░  ░░░░░░  ░░░░░
  10.  
  11.                          ░░░░    ░░░░   ░░░░░   ░░  ░░
  12.                         ▒▒  ▒▒  ▒▒  ▒▒  ▒▒  ▒▒  ▒▒  ▒▒
  13.                         ▓▓      ▓▓  ▓▓  ▓▓  ▓▓   ▓▓▓▓
  14.                         ▓▓      ▓▓  ▓▓  ▓▓▓▓▓     ▓▓
  15.                         ▒▒  ▒▒  ▒▒  ▒▒  ▒▒        ▒▒
  16.                          ░░░░    ░░░░   ░░        ░░
  17.  
  18.  
  19.  
  20.                                    v 0.93
  21.  
  22.                        by Colonel Hawk Productions
  23.  
  24.  
  25.  
  26. Disclaimer (don't take this too seriously :)
  27. ----------
  28. You are using CCopy at your own risk!  The author (Tarmo Toikkanen) is NOT
  29. liable for any damage caused by the use of CCopy or by the inability
  30. to use CCopy. If you are not sure about this, or if you do not accept this,
  31. then do not use CCopy. Simple.
  32.  
  33.  
  34. Contents
  35. --------
  36.     Section                  Line  Page  Screen
  37.    -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
  38.     Disclaimer                27     1      2
  39.     Quick Start               53     1      3
  40.     Introduction              65     2      3
  41.     General Information       89     2      4
  42.     Command Syntax           141     3      7
  43.     Command Line Options     178     3      8
  44.     Examples                 334     6     15
  45.     Enhanced CON Access      488     9     22
  46.     Prompts                  539     9     24
  47.     Specific Information     584    10     26
  48.     Future Improvements      614    11     27
  49.     Contacting the author    622    11     28
  50.  
  51.  
  52. Quick start
  53. -----------
  54.    Just run CC without any options to see the command line options. Otherwise,
  55. if you know how to use the DOS command 'COPY', you can use this program as 
  56. well. Reading these documents isn't necessary in the beginning, but it is 
  57. highly recommended so that you learn to use all the advanced features CCopy 
  58. can provide. This documentation is filled with tips on how to use all the 
  59. options effectively. Especially the section 'Command line options' should be 
  60. read well, and 'Examples' is another chapter that should be worthwhile.
  61.  
  62.  
  63. Introduction
  64. ------------
  65.    Copying large files to a disk is one of the most frustrating things
  66. I know. When the file should fit perfectly on the disk, one single bad block
  67. can ruin your day. Or would you like to sit around some two minutes and then
  68. get a message in the lines of "Insufficient disk space"? Controlled Copy
  69. takes care of this problem permanently.
  70.    Another frustrating thing is that you never know how much more time
  71. the copying is still going to take. Ten seconds? Two minutes? Controlled Copy
  72. solves this problem as well.
  73.    These two major drawbacks in the DOS copy program were the main reason
  74. behind the development of CCopy. A simple thing like checking the available
  75. disk space and calculating the total size of all files was the first function
  76. coded. And now, at the end of several months of coding, recoding, adjusting,
  77. fine-tuning and beta-testing, CCopy is much much more than just a copy program
  78. with a safety mechanism.
  79.    All the numerous command line options and runtime dialogs have been
  80. designed to give as much flexibility to the user as possible. Another
  81. consideration has been compatibility with MS-DOS's copy and 4DOS's copy, so
  82. all the options that they include will most probably still work the same way.
  83. And while designing the screen layout to be as informative, beautiful and
  84. simple as possible, we have not neglected to keep the performance at a high
  85. level (at least as fast as the normal copier).
  86.  
  87.  
  88. General information
  89. -------------------
  90.    Controlled Copy works very much like the normal copy command in
  91. MS-DOS. In fact it can do all the things the normal copy can do, with an
  92. identical command line, and it does lots more. The interface has been
  93. designed to be as similar to the normal copy as possible, as well as the
  94. popular 4DOS's copy program. CCopy is more flexible and user-friendly than
  95. either one of them while retaining their simple interface. CCopy has been
  96. kept as fast as the conventional copy programs, and perhaps even a little
  97. faster.
  98.    CCopy has been built to be extremely safe. As it isn't a commercial
  99. product I cannot guarantee that it will always work perfectly, but I _can_
  100. guarantee, that when it copies a file, it copies it 100% correctly. The only 
  101. problems may be the sort that CCopy doesn't understand your command line 
  102. arguments correctly, but as the results are shown on the screen, you can 
  103. always spot those errors. However, extensive beta-testing for several months 
  104. has been performed on all kinds of situations to ensure maximum working 
  105. efficiency. Four actively used computers have used CCopy exclusively since
  106. the beginning of year 1994. All errors reported have been corrected within 24
  107. hours and new features have been developed in the mean time. And, for most of
  108. the time, CCopy actually works. :)
  109.    CCopy accurately checks available disk space before each file, so
  110. that nothing is copied for naught. CCopy also shows bars, percentages and
  111. estimated time left (the ETA :) so that you always know how much has been 
  112. done and how long you have to wait. A final beep at the end (if you want to) 
  113. tells you when the copying has been finished.
  114.    Other small improvements are the update and refresh options (explained in
  115. detail later on), which are found in all the archive programs; now your file
  116. copier has the same capabilities. A great help in copying to several disks is
  117. the automatic pause capability, which allows you to switch diskettes when
  118. they're full - no need for any XCopy-archive-bit-manipulation. CCopy works
  119. out pretty nicely under multitasking systems too, in case you run out of free
  120. disk space.
  121.    Even the append copy (where several files are sequentially copied to one
  122. single file) is easier to use, no plus-signs in between are needed (but are
  123. accepted, of course). Subdirectory copy is also included, where you can copy 
  124. a directory's contents and all its subdirectories with their contents to 
  125. another location. And combining it with the move-option will effectively move 
  126. entire directory trees from one location to another.
  127.    Multiple source masks are naturally supported (although care should be
  128. taken when using multiple masks with subdirectory copying), which means you
  129. can copy files from several locations and/or several different mask
  130. conformations (see examples later on).
  131.    Moving files (with the /M option) from one directory to another (within 
  132. the same drive) is done by altering the file's directory entry in the FAT on 
  133. the disk, so that all files regardless of size are moved at an extremely fast 
  134. rate. When using /S and /M (or /SM), you can move entire subdirectory trees 
  135. containing several hundred megabytes in just a few seconds. You no longer 
  136. need a separate file mover in addition to the file copier; CCopy replaces 
  137. both of them.
  138.  
  139.  
  140. Command syntax
  141. --------------
  142.         CC source1 [source2 [source3...] destination] [options]
  143.  
  144.    You always have to provide at least one source mask, and others can
  145. be added whenever needed. The last mask is always the destination, unless
  146. you provide only one mask in which case the destination will be the current
  147. working directory in the current drive (see examples later on). This is the
  148. way the DOS copier works, so nothing difficult there.
  149.    Options must always begin with a '/' character, otherwise they're
  150. considered normal file masks. All the options can be entered anywhere on the
  151. command line and they can be written without spaces and slashes in between
  152. (see examples, again). All options are handled from left to right, with the 
  153. contents of the enviroment variable CCOPY handled first. This allows you to 
  154. define your favourite options in the enviroment variable, and then disable
  155. them on the command line whenever you need to. When using 4DOS aliases, you
  156. should enter the '%&'-sign after any options that are defined there so that
  157. you can disable them at any time, for example:
  158. ALIAS CC=C:\UTILS\CC.EXE /4r %&
  159.    Command line parsing is very much enhanced from the original DOS copy
  160. program's parser. For example, you can now move up in the directory tree
  161. more easily. If using MS-DOS's copier, you would have to type:
  162.         COPY ..\..\WORD\*.TXT D:\FILES
  163. whereas with CCopy you can type:
  164.         CCOPY ...\WORD\*.TXT D:\FILES
  165. You can move up as many steps as you want; two dots for one level, three for 
  166. two levels, four for three levels, etc. You can also enter directory names 
  167. more freely, meaning that you can add the backslash after it if you want to, 
  168. but it is never required (although the trailing backslash in the destination 
  169. has a special meaning). Again, see examples. CCopy supports 4DOS extended 
  170. wildcards which means that a mask like "*t*.*" will copy all files that have 
  171. a 't' somewhere in their name (MS-DOS would copy all files).
  172.    CCopy always interprets "." as "*.*". You can also enter wildcards in the
  173. destination, in which case the files' names will be changed accordingly 
  174. (standard DOS copy operation). See examples.
  175.  
  176.  
  177. Command line options
  178. --------------------
  179.    Command line options can be entered anywhere on the command line and quite
  180. freely:
  181.         CC /V0 *.* /D /C e: /S   ; correct, options can be entered anywhere
  182.         CC *.* /V0/D/c/s e:      ; correct, no blanks in between are needed
  183.                                  ;          and case is irrelevant
  184.         CC *.* e: /sdv0c         ; correct, only the first slash (/) is needed
  185.         CC *.* e: /sd 4c         ; WRONG, "4c" looks like a file mask
  186.  
  187. All available options are listed here:
  188.  
  189. /R    replace: Automatically overwrites any already existing files when a file
  190.                with the same name is being copied. Use with caution.
  191. /K       keep: If a file with the same name already exists in the destination
  192.                directory, the file will automatically be skipped.
  193. /U[-]  update: If a file with a same name already exists on the destination
  194.                drive, it will be automatically overwritten if it is older than
  195.                the file that is being copied. Appending a minus sign disables
  196.                this option.
  197. /C[-] changed: Files are copied only if a file with the same name exists on
  198.                the destination directory and it is older than the file that is
  199.                being copied. Appending a minus sign disables this option.
  200.                TIP: When you get a new version of a program, you can use this
  201.                     option to copy only the files that you need over the
  202.                     previous version files: 
  203.                         CC A:\PKZIP204\*.* C:\ZIP\ /C
  204.                     If you have only the executables and documents (*.EXE,
  205.                     *.DOC) in C:\ZIP, then only they will be copied and
  206.                     all other unimportant files are skipped.
  207. /P[-]  prompt: Asks confirmation before copying each file. This option
  208.                overrides any /C and /U options and they can't be activated
  209.                even if entered after this option before prompting has been
  210.                disabled (by /P-). Appending a minus sign disables
  211.                this option.
  212.                TIP: Use this when you can't define the source files very
  213.                     easily on the command line. When CCopy is running, you
  214.                     can skip/accept/rename each file individually or 
  215.                     skip/accept all later files.
  216. /M[-]    move: Source files are deleted after they have been copied.
  217.                Use with caution. Moving files within one disk drive is done
  218.                by altering the directory information without touching the
  219.                actual contents of the file - resulting in extremely fast
  220.                performance. Note that it isn't safe (or allowed) to use /A
  221.                (append) while moving files. Appending a minus sign disables 
  222.                this option.
  223.                TIP: Using /MS you can move entire directory tree structures
  224.                     easily.
  225. /N    nothing: Copies nothing, but shows what would happen. Still reads the
  226.                files normally, just doesn't write them.
  227.                TIP: Use this when you're doing a complicated copy with many
  228.                     options, exclude masks and source masks to see that you
  229.                     haven't made a mistake. Use /NP to get CCopy to pause at
  230.                     every file.
  231. /V[+|-]verify: Temporarily enables DOS verify flag or disables it (/V-).
  232.                TIP: You don't need to define VERIFY ON to slow down your
  233.                     computer, but rather use /V when you need to copy files
  234.                     to diskettes. This way the files are safe and disk access
  235.                     is slowed down only during that copy procedure.
  236. /Vx      view: Defines what you see on the screen during copying.
  237.                What information to show about each file is defined by 'x'.
  238.                Default value for x is 3.
  239.                /V0 : Nothing will be displayed
  240.                /V1 : Only file names are shown (browse mode)
  241.                /V2 : File names and sizes are shown
  242.                /V3 : File names, sizes and progress indicators are displayed
  243.                /V4 : Only one progress indicator is shown on one single line
  244.                TIP: /V0 and /V4 leave the screen untouched after the copy
  245.                     procedure - but /V4 still shows progress during copying
  246. /Tx    totals: Defines what information is shown after copying all files.
  247.                What information will be shown at the end of copy is defined
  248.                by 'x'. Default value for x is 2.
  249.                /T0 : No information - nothing will be displayed
  250.                /T1 : Normal information - total files and total bytes copied
  251.                /T2 : Extended information - total files, total bytes, total
  252.                      copy time, free disk space and copying speed
  253. /Q      quiet: Same as /v0t0, meaning that nothing will be written on
  254.                the screen.
  255.                TIP: Good for batch operations
  256. /O[-]optimize: When copying several files to diskettes you might want to fill
  257.                the disks as well as possible. Using this option forces CCopy
  258.                to copy all files that fit on the disk, rather than asking for
  259.                a new disk whenever the next file won't fit. If you use sub-
  260.                directory copying (/S) this option will be disabled, for
  261.                obvious reasons. Files are not copied in the original order,
  262.                but in decreasing order of size, which ensures that all disks
  263.                are filled as well as possible. Appending a minus sign 
  264.                disables this option.
  265.                TIP: Use this whenever you need to copy files to several disks
  266.                     to ensure that they are filled as well as possible.
  267. /B[-]    beep: Beeps when copying is finished or when a prompt is displayed.
  268.                Different tones for errors, prompts and finish. Appending a 
  269.                minus sign disables this option.
  270.                TIP: Use this during diskette copying, so that you don't need
  271.                     to come to the screen every now and then to check if you
  272.                     need to do something - CCopy will beep every time copying
  273.                     stops: prompts, errors, completion.
  274. /S[-] subdirs: Copies all subdirectories of the directory specified in the
  275.                command line. If a file mask is given in the source parameter,
  276.                that file mask will be applied to all subdirectories. Please
  277.                be careful if you use this option with several source masks.
  278.                Appending a minus sign disables this option.
  279. /D[-]dir-copy: This option is for all those who write quickly and not so
  280.                perfectly. In effect, this option requires that the destination
  281.                is always a directory, never a file. In case the destination
  282.                isn't a directory, you will be prompted for confirmation before 
  283.                proceeding. You can then choose that CCopy creates the 
  284.                destination directory for you or copies the source file into
  285.                a single file. If you append a backslash at the end of the 
  286.                destination, this option will be activated automatically. 
  287.                Appending a minus sign disables this option, but not if a 
  288.                backslash is used as mentioned before. See examples.
  289.                TIP: Using this option as a default means that you need one
  290.                     extra keypress when copying a file to another name, but
  291.                     prevents you from the accident of mistyping the 
  292.                     destination directory name.
  293. /H[-]  hidden: All hidden and system files are also copied. Appending a minus
  294.                sign disables this option. Be careful when using /H with /M,
  295.                as you may accidentally move some important system files.
  296.                When not using the /H-option, all copied and moved files will
  297.                have only the archive-attribute set and all others unset. This
  298.                means that any read-only files will be copied into normal
  299.                files. When using the /H-option, all files retain their
  300.                attributes so that read-only files remain unwritable as
  301.                opposed to normal operation. System files and hidden files
  302.                (and all combinations thereof) also remain unchanged.
  303.                Appending a minus sign disables this option.
  304. /A[-]  append: Appends all source files in sequence to the end of the
  305.                destination file. You can also use plus-signs between file 
  306.                masks to append them together. If there's a plus-sign between 
  307.                every mask, then the first one is used as the destination and 
  308.                all others are appended to it, otherwise you must put a plus-
  309.                sign between each mask except before the last one, which will 
  310.                then be the destination. You aren't allowed to move files while 
  311.                using /A. Appending a minus sign disables this option.
  312.                TIP: Use this with CON to type to the end of a file.
  313.                     CC CON D:\COMMENTS.TXT /A
  314. /4[-]    4DOS: 4DOS description support. When this option is enabled, CCopy
  315.                transfers the comments in DESCRIPT.ION just like the normal
  316.                4DOS copy program. When calculating free space on destination
  317.                drive, the description file is not taken into account and may
  318.                not fit into the disk, but this is quite rare as the size
  319.                increase is often quite small.
  320. /[]     range: Only files that fall within the range are copied. This
  321.                feature is from 4DOS, and now includes all three versions; 
  322.                size, date and time ranges. See examples for instructions.
  323. []    exclude: If a file mask is inside brackets (note that there is no slash
  324.                in front), it will be translated as an exclude mask. If a file 
  325.                matches any given exclude masks it will be skipped. You can
  326.                have up to ten different exclude masks, but note that they
  327.                must not contain a path, only a file mask. See examples.
  328.                TIP: If you accidentally open an archive file in the directory
  329.                     where you keep your archives, use this to clean the mess:
  330.                     CC *.* [ *.ZIP *.ARJ *.LZH] /M E:\TEMP
  331.  
  332.  
  333. Examples
  334. --------
  335.         CC /R *.EXE D:\TOOLS\FRACTINT\*.* C:\FILES
  336.         CC /R *.EXE D:\TOOLS\FRACTINT\. C:\FILES
  337.         CC /R *.EXE D:\TOOLS\FRACTINT\ C:\FILES
  338.         CC /R *.EXE D:\TOOLS\FRACTINT C:\FILES
  339.    All these four lines are operate identically. They copy all files in the
  340.    current directory with the extension EXE to C:\FILES, and all files in
  341.    D:\TOOLS\FRACTINT as well, while overwriting any existing files (/R).
  342.         CC *.zip /U a: /B
  343.    Copies all files with an extension ZIP to drive A, asking for another
  344.    disk when there's no more space left (this works automatically) and beeping 
  345.    at the end and at the prompts. If a file by the same name exist already and 
  346.    is older than the file to be copied, it will be automatically overwritten, 
  347.    otherwise the source file will be skipped.
  348.         CC *.* d: /R /4-Q
  349.    Copies all files in the current directory to drive D's working directory
  350.    automatically overwriting all duplicate files and displaying nothing on
  351.    the screen. (Good for batch files operations.) 4DOS's description
  352.    capability is also disabled (in case it has been enabled earlier in an
  353.    alias definition of CCOPY enviroment variable).
  354.         CC D:
  355.    You can't make the command line much shorter. Copies all files from drive
  356.    D's current directory to the current working directory of the current
  357.    drive.
  358.         CC D: E: .
  359.    This line, on the other hand, copies all files from the current directory
  360.    of drives D and E to the current working directory. Note that since more
  361.    than one source mask is used, the destination must be defined. (Dot means
  362.    current directory.)
  363.         CC D: E:
  364.    This version copies all files from drive D to drive E, not the current
  365.    working directory (as opposed to the previous command line).
  366.         CC ...\TC\*.EXE D:\TEMP /cN
  367.    Copies all exe files from a subdirectory called TC two steps up from
  368.    current working directory (i.e. if you are in C:\TOOLS\ASM\WORK this
  369.    command would copy files from C:\TOOLS\TC). And all files that don't
  370.    have an older version of them in D:\TEMP will be skipped automatically.
  371.    And finally, /N-option (notice the combining of the two options) prevents
  372.    actual disk writing to just show you what files would get copied and what
  373.    would be skipped.
  374.         CC . D:\DRVFILES /D
  375.         CC . D:\DRVFILES\
  376.    Both these lines copy all files from the current working directory to a
  377.    directory on drive D. The /D-option means that in case you mistype the
  378.    directory name accidentally, no copying will be done if you don't
  379.    specifically want to. Appending a backslash (the second example) does the
  380.    same thing, but the /D-option can be added to a batch file or an alias list
  381.    to make CCopy default to it. So if you write something like D:\DVFILES your
  382.    files won't be copied into a file DVFILES in the root directory.
  383.         CC *.exe *.bak
  384.    Will copy all files with the extension EXE into files with the extension
  385.    changed into BAK. For example: TESTER.EXE and NEWFILE.EXE would be copied
  386.    into TESTER.BAK and NEWFILE.BAK.
  387.         CC *.* OLD_*.*
  388.    Will copy all files in the current working directory into files that begin
  389.    with 'OLD_'. For example: DATAFILE.DAT, TESTER.EXE, NEWFILE.EXE, MYPROG.BAT
  390.    and DATA.BAK would be copied into OLD_FILE.DAT, OLD_ER.EXE OLD_ILE.EXE,
  391.    OLD_OG.BAT and OLD_.BAK respectively. As you can see, you can easily mess
  392.    up the file names when using wildcards in the destination, so be careful.
  393.         CC file1.dat+file2.dat +file3.dat allfiles.dat
  394.         CC file?.dat allfiles.dat /A
  395.    Both lines do the same thing, append the three files into a single file.
  396.    The plus-signs function just like in the normal copy-program. They are
  397.    implemented simply for compatibility's sake, as the second format is a lot
  398.    simpler; consider this for example: "CC *.* all.dat /A". Quite hard to do
  399.    with plus-signs. Note that you can freely have spaces between plus-signs
  400.    and file names.
  401.         CC message.txt COM2
  402.         CC print.me PRN
  403.         CC test.zip NUL
  404.         CC CON PRN
  405.    These lines demonstrate how to send files to different devices like modems
  406.    and printers (or the null device - only usable as a file read speed test).
  407.    The last line will use CCopy's enhanced console interface (see next
  408.    chapter) to send characters typed from the keyboard to the printer. CON
  409.    can also be used to write text and control characters to a file,
  410.    eg. CC CON file.ext. Using the /A-option will append your typing to the
  411.    end of the file.
  412.         CC *.txt e: /[s100k,150k]
  413.         CC *.txt e: /[s 100k,+50k ]
  414.         CC *.txt e: /[s100000, 150000]
  415.    All lines have the same effect, which is that only if a file is between
  416.    100,000 and 150,000 bytes long will it be copied. The 's' after the first
  417.    bracket means a size range, and 'k' means 1000 bytes. 'K' means one
  418.    kilobyte (1024), 'm' means million bytes and 'M' one megabyte (1024*1024).
  419.    Note that you can always enter extra spaces between brackets.
  420.         CC *.zip /[s1M] d:\temp
  421.    As you can see the upper limit is optional. This line will copy all .zip 
  422.    files that are at least 1 megabytes long.
  423.         CC a:*.zip /[s400k,150000]
  424.         CC a:*.zip /[S150k,+250000]
  425.         CC a:*.zip /[s400000,-250k]
  426.    Again, all these lines do the same thing. Unlike in 4DOS, it doesn't
  427.    matter which of the numbers is larger, and you can use either plus or
  428.    minus signs in front of the second number (4DOS only allows plus-signs).
  429.    The signs mean that the other limit is that much higher or lower than the
  430.    first one.
  431.         CC *.zip e:\ /[D8-20-94,8-24-94]
  432.         CC *.zip e:\ /[d20.8.94,24.8.1994]
  433.         CC *.zip e:\ /[D20/08/94,+4]
  434.    These three lines demonstrate the use of the date range (notice the 'D'
  435.    in the beginning). All the lines operate identically. If you use the minus-
  436.    sign in between the numbers, the first number will be the month and the
  437.    second the day. Using any other sign (dot, comma, slash, etc.) means that
  438.    the first number will be the day and the second one the month. The year can
  439.    be entered with just two digits or all four. Also, using a plus on minus
  440.    sign before the second set of numbers will make them relative to the first
  441.    one (in days).
  442.         CC a: /[d-1]
  443.         CC a: /[D-1,+1]
  444.    When the first number is preceded by a plus or minus sign, it will be
  445.    relative to the current date, i.e. here it would mean all files from today
  446.    or yesterday. If the second date is omitted, the current date will be used
  447.    in its place. The second line works likewise, as the second number is one
  448.    greater than the first one, i.e. today.
  449.         CC a: /[D-1,+0]
  450.    Copies files only from yesterday.
  451.         CC a: /[d22.9.93@15:00,+2@10:05]
  452.    Using the '@'-sign you can enter a time for each (or just one) limit. In
  453.    this case all files newer than 22.9.93 15:00 and older than 24.9.93 10:05
  454.    are accepted. Again, like with the size range, it doesn't matter which
  455.    date is larger.
  456.         CC *.exe d:\temp\*.bak /[t11:00,13:05]
  457.         CC *.exe d:\temp\*.bak /[t11:00,+125]
  458.         CC *.exe d:\temp\*.bak /[t13:05,-125]
  459.    All three lines work in the same manner. All files that have a time stamp
  460.    between 11:00 and 13:05 are copied. Again, you can use relative numbers 
  461.    (in minutes) in the second time.
  462.         CC *.exe d:\temp\*.bak /[t-120]
  463.    If the first time is relative, it will be relative to the current time.
  464.    This line copies all files that have a time stamp of 0 to 2 hours less 
  465.    than the current time.
  466.         CC a: /[d+0@-120]
  467.    Copies all files that are less than two hours old (current date and 120
  468.    minutes less than the current time).
  469.         CC . [*.exe] [ *.com] a:\backup
  470.         CC . [ *.exe *.com ] a:\backup
  471.    These lines demonstrates the use of exclude masks. All files, except those
  472.    with the extension 'exe' or 'com' will be copied. Again, note that extra
  473.    spaces between brackets are ignored (4DOS users will appreciate this) and
  474.    several masks can be entered in single brackets.
  475.         CC . [ *.zip *.arj *.lzh] \TEST /M
  476.    This is a good line to remember if you have a lot of ZIP-files. In case
  477.    you accidentally open one of them in the same directory, this command line
  478.    will easily move the correct files and clean the directory for you.
  479.  
  480.    And, if you still aren't sure how your command line will behave, use the
  481.    /N-option (no copying) or the /P-option (prompts before copying each file),
  482.    or both (/np) to be on the safe side. Especially when using some complex
  483.    selection ranges it's always a good idea to use /NP to make sure you don't
  484.    mess anything up.
  485.  
  486.  
  487. Enhanced CON access
  488. -------------------
  489.    COPY CON file.ext
  490.    This line is very familiar to all those who were around when good text
  491. editors weren't. Nowadays EDIT file.ext is much easier and more effective to
  492. use. You might think that the copy command supports the console only for
  493. compatibility's sake, but there is, in fact, one thing that COPY CON does
  494. better than MS-DOS edit and most other editors as well: control characters.
  495.    Not many editors let you write BEEPS (ascii 7) or page breaks manually,
  496. but COPY CON does. It interprets all 'unprintable' ascii characters into
  497. control codes, like ^A,^B,^M and so on. CCopy takes this process one step
  498. further and allows you to enter ANY ascii codes into a file. Normal writing
  499. still works fine, but now backspace, tab, enter, ESC and all other keys are
  500. written directly into the file. An added feature is that everything is
  501. printed on screen (that's right - everything) by using direct VGA memory
  502. manipulation. Now all the smileys (ascii codes 1 and 2) and the rest of them
  503. are visible, not merely ^X -symbols. Note that MS-DOS and 4DOS copiers cannot
  504. write escape characters (27) to a file as they interpret it as an editor
  505. command. In fact, CCopy is the only program I am aware of that can write
  506. escape codes entered directly from the keyboard (EDLIN could do that as well,
  507. but - sadly - it has been replaced by MS-EDIT).
  508.    Special keys may be entered from the keypad as well, by depressing ALT
  509. and 'dialing' the ascii code on the keypad (not keyboard). Another way of
  510. entering some control characters is by depressing control and pressing an
  511. appropriate letter key; ^A,^B,...,^X,^Y, are all available this way. (Except 
  512. ^C and ^Z which are used to close the file.) MS-DOS and 4DOS copiers use this 
  513. method, but on the screen they show only those symbols from ^A to ^Z. CCopy 
  514. shows the real ascii characters.
  515.    When you've finished typing, pressing CTRL-Z or CTRL-C will close the
  516. file and proceed normally with the copying (if there are other source files).
  517.    At one point you may mistype a letter and want to remove it with backspace.
  518. Pressing backspace alone will just echo ascii 7 to the screen and the file.
  519. And instead of just entering ascii 13 (carrier return), you might want to
  520. enter the return combination (13+10: carrier return and line feed). Remember
  521. that CC CON is primarily for entering those tough control characters, not a
  522. fully developed text editor. But because some special functions are quite
  523. useful (like those described earlier) they are implemented in CCopy.
  524. By using either SHIFT-key these special functions become available:
  525.     Backspace: No longer echoes ascii 7 but removes last character.
  526.         Enter: Inserts CR/LF (13+10) instead of CR (13) and starts a new line
  527.                on the screen.
  528.        CTRL-Z: Closes the file without writing the ^Z-character to the file.
  529.        CTRL-C: Closes the file without writing the ^C-character to the file.
  530.  
  531. Remember that CON cannot be used as a destination and that whenever one or
  532. more of your source masks are the console, the destination must be a single
  533. file, no wildcards or directory names are allowed. Of course, CCopy makes
  534. always sure that no dangerous stunts are pulled. Using the /A-option will
  535. easily and effectively allow you to write to the end of the file.
  536.  
  537.  
  538. Prompts
  539. -------
  540.    There are several different prompts that you can encounter when using
  541. CCopy, but most of them only require a yes/no response and are pretty self-
  542. explanatory. A few may need some explaining however:
  543.  
  544. (1)
  545. Copying FONT.TXT => FONT.BAK
  546. FONT    TXT     2Kb Overwrite FONT.BAK (older,smaller)? [y/n/a/s/r]
  547.  
  548. The information in parantheses concerns the already existing file that is
  549. about to be overwritten. In this case we see that FONT.BAK is older and
  550. smaller in size than FONT.TXT. The possible answers are in brackets.
  551. Responses: Y)es, overwrite the old file with the new one
  552.            N)o, skip this file and continue with the next one
  553.            A)ll, automatically allow all following files to overwrite
  554.                  already existing files (same as /R-option (replace))
  555.            S)kip, automatically skip all following files that would overwrite
  556.                   an already existing file (same as /K-option (keep))
  557.            R)ename, lets you enter a new name for this file (no path, just
  558.                     the name)
  559.  
  560. (2)
  561. If the destination drive doesn't have enough free space to accomodate
  562. all the files that you've specified, you will be prompted:
  563.  
  564. Not enough free space for all files. Continue anyway? [Y/n]
  565.  
  566. If you choose to continue, CCopy will pause when the disk is full and wait
  567. for you to change the diskette or make more free space (or stop there).
  568. Note that all the possible responses are in brackets, and if one of them
  569. is capitalized, it is the default response which will be used if you press
  570. any key that isn't listed. 
  571.  
  572. (3)
  573. For added security, CCopy asks for confirmation if you're appending files
  574. and haven't specified the /A-switch. This has been implemented simply because
  575. quite often this type of command is due to a misspelling:
  576.         CC *.* D:\FILES\BACXKUPS
  577. when the correct directory name is D:\FILES\BACKUPS. A normal copy program
  578. would copy all your files one after the other to a file name BACXKUPS. And if
  579. you had moved those files the next step would be UNDELETE.EXE (which possibly
  580. wouldn't be able to get all the files back).
  581.  
  582.  
  583. Specific information
  584. --------------------
  585.         Controlled Copy reads and writes files in 48kB blocks. Larger blocks
  586. would mean faster operation, but then the screen update intervals would
  587. become too long and increasing the block size over 48 kBytes doesn't improve
  588. the performance enough to be worthwhile. And 48kB is 6 times 8kB which is the 
  589. most common cluster size; so every read and write is exactly 6 clusters long,
  590. which does have a slight positive effect. Without screen update during copy,
  591. Ccopy is a bit faster than the ordinary copy program and with screen update
  592. only 0% to 1% slower, depending on the disk drives' speed and the speed of
  593. your video controller. This delay however is too small to be noticed without
  594. timing the procedures and since you get a much nicer enviroment with Ccopy,
  595. then why continue using the normal copy?
  596.         Support for an enviroment variable is implemented. You can define all 
  597. your favorite options in a variable named CCOPY. Any options that are entered 
  598. in the command line will override the options of the enviroment variable. 
  599. Example: SET CCOPY=/V1T2B/H /4 (all slashes are optional).
  600.         All screen updates are done using standard BIOS-calls, so that CCopy
  601. doesn't mess up your windows if you use a multi-tasker. A notable exception
  602. is the enhanced console interface, which writes directly to video memory.
  603. No color or graphics monitor is required, everything works well in a B&W 80 
  604. column screen.
  605.         Controlled Copy has been coded entirely in Borland's Turbo C++ 3.1.
  606.         DOS errorlevel codes returned by Ccopy are as follows:
  607.                 0 - succesful operation
  608.                 1 - not enough free space
  609.                 2 - error in command line
  610.                 3 - unexpected (serious) error
  611.  
  612.  
  613. Future improvements
  614. -------------------
  615. Known improvements:
  616.         Advanced optimization for copying to disks
  617. Possible improvements:
  618.         SRDisk (ReSizeable Ram Disk) size altering support
  619.  
  620.  
  621. Contacting the author
  622. ---------------------
  623. Your support is greatly appreciated! If you at any time feel that there is
  624. something this copier lacks, inform me about your ideas and, if they are
  625. reasonable, useful and possible, they will be added. YOU can affect the way
  626. this program will develop in the future.
  627.  
  628. And if you at any time discover an error in the program, _please_ try to
  629. inform me. As this program constantly develops and grows, some of the older
  630. functions may start acting erroneously and I possibly can't do a foolproof
  631. test scan on all aspects of the program. But when you report a bug, I know
  632. what to look for and I'll be able to fix it within 24 hours. Of course, you
  633. must wait a few weeks for the next release, but by then CCopy will be better
  634. than new. (Actually it _will_ be new.. :-)
  635.  
  636. And finally, if you have nothing to report, you can still let me know what
  637. you think of the program. It's always nice to get comments, so that I know
  638. someone finds this utility useful.
  639.  
  640. So... For any bug reports, improvement ideas and comments:
  641.    1) Post a message to the following e-mail address: ttoikkan@gamma.hut.fi
  642.    2) Write a message in Metropoli BBS to Tarmo Toikkanen. 
  643.       One node to Metropoli: (358)0-455 4829
  644.    3) Call (358)0-493 169 (voice only)
  645.    4) Send snailmail to:
  646.          T. Toikkanen
  647.          Ruusulankatu 19 A 26
  648.          00250 Helsinki
  649.          FINLAND
  650.  
  651.  
  652. Tuesday, 6th September, 1994        - Colonel Hawk
  653.