Copy files and/or directory trees to another folder. XCOPY is similar to the COPY command except that it has additional switches to specify both the source and destination in detail.

Xcopy has been deprecated under Vista and Windows 2008, this means that while still available now it may disappear in a future OS release. To ensure your scripts are 'future proof' use other tools (such as Robocopy) instead of xcopy.

XCOPY is particularly useful when copying files from CDROM to a hard drive, as it will automatically remove the read-only attribute.

      XCOPY source [destination] [options]
Key source : Pathname for the file(s) to be copied. destination : Pathname for the new file(s). [options] can be any combination of the following: Source Options /A Copy files with the archive attribute set (default=Y)
/M Copy files with the archive attribute set and turn off the archive attribute, use this option when making regular Backups (default=Y) /H Copy hidden and system files and folders (default=N)
/D:mm-dd-yyyy Copy files changed on or after the specified date. If no date is given, copy only files whose source date/time is newer than the destination time.
/U Copy only files that already exist in destination. /S Copy folders and subfolders
/E Copy folders and subfolders, including Empty folders. May be used to modify /T. /EXCLUDE:file1[+file2][+file3]... The files can each contain one or more full or partial pathnames to be excluded. When any of these match any part of the absolute path of a SOURCE file, then that file will be excluded. For example, specifying a string like \obj\ or .obj will exclude all files underneath the directory obj or all files with the .obj extension respectively. Copy Options /W Prompt you to press a key before starting to copy. /P Prompt before creating each file. /Y Suppress prompt to confirm overwriting a file. may be preset in the COPYCMD env variable. /-Y Prompt to confirm overwriting a file. /V Verify that the new files were written correctly. /C Continue copying even if an error occurs. /I If in doubt always assume the destination is a folder e.g. when the destination does not exist. /Z Copy files in restartable mode. If the copy is interrupted part way through, it will restart if possible. (use on slow networks) /Q Do not display file names while copying. /F Display full source and destination file names while copying. /L List only - Display files that would be copied.
Destination Options
/R Overwrite read-only files.
/T Create folder structure, but do not copy files. Do not include empty folders or subfolders.
/T /E will include empty folders and subfolders.
/K Copy attributes. XCOPY will otherwise reset read-only attributes.

/N If at all possible, use only a short filename (8.3) when creating a destination file. This may be necessary when copying between disks that are formatted differently e.g NTFS and VFAT, or when archiving data to an ISO9660 CDROM. /O Copy file Ownership and ACL information. /X Copy file audit settings (implies /O).

XCOPY will accept UNC pathnames


To copy a file:

XCOPY C:\utils\MyFile D:\Backup\CopyFile

To copy a folder:

XCOPY C:\utils D:\Backup\utils /i

To copy a folder including all subfolders.

XCOPY C:\utils\* D:\Backup\utils /s /i

The /i defines the destination as a folder.


In many cases the functionality of XCOPY is superseded by ROBOCOPY.

To always overwrite destination files use the COPYCMD environment variable: SET COPYCMD=/Y

When comparing Dates/Times the granularity (the finest increment of the timestamp) is 2 seconds for a FAT volume and 0.1 microsecond for an NTFS volume.

The WinXP version of XCOPY will accept wildcards for the source e.g. *.txt
It is also more forgiving with trailing backslashes.

“It is easier to copy than to think, hence fashion” ~ Wallace Stevens


COPY - Copy one or more files to another location
DEL - Delete files
MOVE - Move a file from one folder to another
ROBOCOPY - Robust File and Folder Copy
Fcopy - File Copy for MMQ (copy changed files & compress. (Win 2K ResKit)
Permcopy - Copy share & file ACLs from one share to another. (Win 2K ResKit)
MTC - XCopy and create a log file. (Win 2K ResKit)
Q240268 - XCOPY changes in Win 2K
PowerShell: Copy-Item - Copy an item from one location to another
Equivalent bash command (Linux): cp - Copy one or more files to another location

© Copyright SS64.com 1999-2013
Some rights reserved