COPY--Notes Setting the COPYCMD environment variable You can set the COPYCMD environment variable to specify whether you want the COPY, MOVE, and XCOPY commands to prompt you for confirmation before overwriting a file, whether issued from the command prompt or a batch file. To force the COPY, MOVE, and XCOPY commands to prompt you before overwriting in all cases, set the COPYCMD environment variable /-Y. To force these commands to overwrite in all cases without prompting you, set the COPYCMD environment variable to /Y. Typing any of these commands with the /Y or /-Y switch overrides all defaults and the current setting of the COPYCMD environment variable. Copying to and from devices You can substitute a device name for one or more occurrences of source or for destination. Using or omitting the /B switch when copying to a device When destination is a device (for example, COM1 or LPT1), the /B switch causes MS-DOS to copy data to the device in binary mode. In binary mode, all characters (including such special characters as CTRL+C, CTRL+S, CTRL+Z, and carriage return) are copied to the device as data. Whereas, omission of the /B switch causes MS-DOS to copy data to the device in ASCII mode. In ASCII mode, such special characters as those previously listed may cause MS-DOS to take special action during the copying process. Using the default destination file If you do not specify a destination file, MS-DOS creates a copy with the same name, creation date, and creation time as the original file, placing the new copy in the current directory on the current drive. If the source file is on the current drive and in the current directory and you do not specify a different drive or directory for the destination file, the COPY command stops and MS-DOS displays the following error message: File cannot be copied onto itself 0 File(s) copied Using the /V switch If MS-DOS cannot verify a write operation, it displays an error message. Although recording errors rarely occur with the COPY command, the /V switch lets you verify that critical data has been correctly recorded. The /V switch also slows down the COPY command, because MS-DOS must check each sector recorded on the disk. Using the /A and /B switches The effect of an /A or /B switch depends upon its position on the command line. When the /A or /B switch follows the source filename, COPY performs as shown in the following list: /A Treats the file as an ASCII (text) file and copies data that precedes the first end-of-file character. COPY does not copy the first end-of-file character or the remainder of the file. /B Copies the entire file, including any end-of-file character. When the /A or /B switch follows the destination filename, COPY performs as shown in the following list: /A Adds an end-of-file character as the last character of the file. /B Does not add an end-of-file character. Combining files with the COPY command If you specify more than one source, separating entries with a plus sign (+), COPY combines the files, creating a single file. If you use wildcards in source but specify a single filename in destination, COPY combines all files matching the filename in source and creates a single file with the filename specified in destination. In either case, COPY assumes the combined files are ASCII files unless you specify the /B switch. (Do not combine non-ASCII files without specifying the /B switch; doing so can result in truncated files, since most binary files contain CTRL+Z characters which cause COPY to behave as if it has reached the end of the file.) If the name of the destination file is the same as the name of one of the files being copied (except the first file), the original contents of the destination file are lost. When this happens, COPY displays the following message: Content of destination lost before copy Copying files in subdirectories To copy all of a directory's files and subdirectories, you should use the XCOPY command. Copying zero-length files COPY does not copy files that are 0 bytes long; instead, it deletes such files. Use XCOPY to copy these files. Changing the time and date of a file If you want to assign the current time and date to a file without modifying the file, use a command in the following format. The commas indicate the omission of the destination parameter. copy /b source+,,