什么是Windows命令行命令复制文件?

什么是Windows命令提示符命令来复制文件?

我需要将文件从位置A移动到位置B.另外,如果位置B的文件夹不存在,我希望创build它。

我需要这是一个命令行,所以我可以自动化。

Windows的版本是XP。

命令xcopy是你正在寻找的。 例:

 xcopy source destination /E /C /H /R /K /O /Y 

上面的命令会将源文件复制到目的地,文件和目录(包括空文件),不会因为错误而停止,将复制隐藏文件和系统文件,覆盖只读文件,保留属性和所有权/ ACL信息,提示覆盖现有的目标文件。

 /E Copies directories and subdirectories, including empty ones. Same as /S /E. May be used to modify /T. /C Continues copying even if errors occur. /H Copies hidden and system files also. /R Overwrites read-only files. /K Copies attributes. Normal Xcopy will reset read-only attributes. /O Copies file ownership and ACL information. /Y Suppresses prompting to confirm you want to overwrite an existing destination file. 

有关更多信息,请键入xcopy /? 和你的命令行。

使用md创build文件夹(如果它已经存在,也可以)

使用复制移动文件, xcopy文件夹

在batch file中:

 if not exists locationB\nul mkdir locationB copy locationA\file locationB 

if not exists检查该参数是否存在,但仅适用于文件。 要检查一个目录的存在,你需要寻找一个名为“nul”的“伪文件” – 检查这个文件的存在将总是返回true,如果该目录存在。

复制行将目录locationA名为file的文件复制到locationB ,并将文件命名为相同的东西。 如果你想同时重命名文件,你也可以这样做:

 copy locationA\file locationB\newfilename 

如果您希望能够同步副本和其他高级function(忽略某些文件夹,只包含某些通配符),请查看robocopy 。 包含在Vista及更高版本中,在早期版本中可选(来自资源工具包工具)。

如果您正在创build备份脚本,请使用ROBOCOPY。 xcopy已被弃用,并可能在不久的将来被淘汰。 robocopy可以做xcopy所能做的所有事情。 它也更加灵活可靠。 使用robocopy创build脚本将会使其具有前瞻性。


  1. 使用robocopy轻松复制文件夹。 robocopy命令replace了xcopy命令。 它可以快速复制整个文件夹,而不必担心定义内容。 例如,要将C:\ tools目录的所有内容复制到新文件夹D:\ backup \ tools,请input以下内容:

     robocopy C:\tools D:\backup\tools /e 

    / e修饰符告诉robocopy包含所有的子目录。 这包括空文件夹。 robocopy会自动复制隐藏和系统文件。 如果它们不在目标位置,它将创build新的目录。

  2. 镜像目录。 镜像目录非常适合备份。 robocopy的镜像选项会将所有内容从源复制到目的地。 然后,它将删除目的地不存在的任何东西。 这确保您的备份只有您的文件的最新版本。 例如,要将C:\ Users \ My Documents镜像到D:\ backup \ My Documents,请input以下内容:[4]

     robocopy "C:\Users\My Documents" "D:\backup\My Documents" /mir 

    该function将保留原始文件的所有权限。

  3. 启用重新启动。 如果连接被中断,则可能需要包含重新启动进程的function。

     robocopy "C:\Users\My Documents" "D:\backup\My Documents" /z 
  4. logging复制过程。 robocopy允许你创build一个日志文件。 这可以帮助您查明问题或生成已复制内容的归档。

     robocopy "C:\Users\My Documents" "D:\backup\My Documents" /log+:<filename>.txt 

    / log +修饰符将附加现有的日志文件,而不是覆盖它。 如果您希望只覆盖旧的日志文件,请使用/log:.txt。

xcopy将为你创build目录结构。 窍门是使用/ I选项,并在文件名的末尾添加一个星号,以便xcopy认为您正在复制多个文件,否则会询问您的目标名称是您想要的文件名,还是您想要的目录名。 例如。

 xcopy /I c:\<SourceDir>\<SourceFile> c:\<TargetDirThatDoesNOTExist> 

我也看看RoboCopy,但是你需要从资源工具包中获取它,因为它不在Windows中,直到Vista。

以上命令使用源文件的名称创build一个附加目录级别。 所以… xcopy /我srcdir \ dir1 \ dir2 \ file1.txt * destdir \ dir1 \ dir2 \ file1.txt结果在destdir \ dir1 \ dir2 \ file1.txt \ file1.txt