Command: xcopy (rxcopy, ver. 1.7)
XCOPY copies files and directories, including subdirectories.
Syntax:
XCOPY source [destination] [/switches]
source Specifies the directory and/or name of file(s) to
copy. The source must be either a drive or a full
path.
destination Specifies the location and/or name of new file(s).
The destination to copy to. If not present, xcopy
assumes the working directory.
Switches:
/A Copies only files with the archive attribute set and
doesn't change the attribute.
/C Continues copying even if errors occur.
/D[:M/D/Y] Copies only files which have been changed on or after the
specified date. When no date is specified, only files which
are newer than existing destination files will be copied.
/E Copies any subdirectories, even if empty.
/F Display full source and destination name.
/H Copies hidden and system files as well as unprotected
and system files.
/I If destination does not exist and copying more than one
file, assume destination is a directory.
/L List files without copying them. (simulates copying).
/M Copies only files with the archive attribute set and turns
off the archive attribute of the source files after copying
them.
/N Suppresses prompting to confirm you want to overwrite an
existing destination file and skips these files.
/P Prompts for confirmation before creating each destination
file.
/Q Quiet mode, don't show copied filenames.
/R Overwrite read-only files as well as unprotected files.
/S Copies directories and subdirectories except empty ones.
/T Creates directory tree without copying files. Empty
directories will not be copied. To copy them add switch /E.
/V Verifies each new file.
/W Waits for a keypress before beginning.
/Y Suppresses prompting to confirm you want to overwrite an
existing destination file and overwrites these files.
/-Y Causes prompting to confirm you want to overwrite an
existing destination file.
/? Shows the help.
Comments:
The switch /Y or /N may be preset in the COPYCMD ENVIRONMENT VARIABLE.
This may be overridden with /-Y on the command line.
e.g. SET COPYCMD=/Y.
To cancel the /Y for a particular XCOPY command, use /-Y at the
command line.
The COPYCMD variable also affects the COPY command. Use /Y to change
the way both COPY and XCOPY behave. Use /N, which ignores COPY, to
change only the way XCOPY behaves.
XCOPY may be used to determine if a drive is valid in a BATCH FILE.
XCOPY %drive%\NUL /L >NUL
IF NOT ERRORLEVEL 5 GOTO invaliddrive
XCOPY may be used to determine if the destination drive is full in a
BATCH FILE.
XCOPY %drive1%\%dir% %drive1%\%dir% /S
IF ERRORLEVEL 39 GOTO destinationfull
XCOPY supports NLS (national language support).
XCOPY has the following ERRORLEVEL / EXITCODES:
0 No error. XCOPY successfully copied the files.
1 File not found. XCOPY could not find the source file(s).
4 Path not found. XCOPY could not find the source or
destination path. Format invalid.
The user used the wrong syntax on the command line.
5 Access denied. The user does not have access to the
source or destination files.
8 Insufficient memory. There is insufficient system memory
to carry out the command. (Not implemented because not
possible to handle in a high level language like C!)
29 Write fault. XCOPY could not write a destination file
or directory.
30 Read fault. XCOPY could not read a source file.
39 Insufficient disk space. There is insufficient disk
space in the destination path.
Examples:
xcopy a:\test\*.* c:\test /q
In a batch file:
xcopy a:\test\*.* c:\test\test6 /s /f /i
if errorlevel 39 echo harddrive is full
pause
See also:
batch file
copy
diskcopy
environment variable
errorlevel/exitcode
goto
if
move
set (config.sys command)
Copyright © 1998 Jim Hall, updated 2007 by W. Spiegl.
This file is derived from the FreeDOS Spec Command HOWTO.
See the file H2Cpying for copying conditions.