在批处理中 XCOPY 覆盖
Siddharth Bishnoi
2024年2月15日
Batch
Batch Xcopy
Xcopy 是一个命令行实用程序,用于将一个或多个文件或目录(包括子目录)从一个位置复制到另一个位置。它类似于 copy 命令,但更强大,因为它可以将整个目录从一个位置复制到另一个位置。
它足够强大,甚至可以复制驱动器。Xcopy 是一个快速命令,它可以复制文件和文件夹,在有或没有提示的情况下覆盖现有文件,根据名称、路径或扩展名排除文件,识别更新的文件等。
从 Windows 98 开始,几乎所有 Windows 版本都支持它。它可以作为 DOS 命令在 MS-DOS 中使用 xcopy。
xcopy 命令的语法是:
xcopy <source> <destination> </parameters>
source- 要复制的文件的位置和名称。它必须包括文件或目录的驱动器和路径。destination- 要复制的文件的目的地。它可以是驱动器、目录或文件名。parameters-xcopy命令提供的选项。可以通过运行xcopy /?查看它们在命令提示符窗口中。
还有其他几个类似于 xcopy 的命令,有些甚至比它更强大,例如 robocopy、rsync、teracopy 等。但是,我们将在本文中坚持使用 xcopy。
本教程将教授如何在使用 xcopy 命令复制文件时在没有提示的情况下覆盖目标中的所有文件。
批量复制新文件夹中的文件
要将文件从一个位置复制到另一个位置,请执行以下命令。
xcopy C:\testfolder D:\testfolder /i /s

/s- 复制要复制的文件夹中的目录、子目录和文件,除非它们为空。/i- 强制xcopy假定目标是一个目录并创建一个新目录。如果不使用,系统将提示你输入目标是文件还是目录。
要仅复制目录树而不复制文件,即目录结构,请执行以下命令。
xcopy C:\testfolder D:\testfolder /t /e

/t- 复制不包括文件的目录结构。/e- 复制所有子目录,即使它们是空的。它与/t和/s选项一起使用。
输出:

如上所示,只复制目录而不复制文件。
通过批量覆盖现有文件来复制文件
要在复制时覆盖现有文件,请执行以下命令。
xcopy C:\testfolder D:\testfolder /i /s
.webp)
如上图所示,它要求覆盖现有文件或所有文件。当我们在现有文件上复制许多文件时,它会为每个具有相同名称的文件显示提示。
确认每个文件太耗时。为避免这种情况,我们需要使用 /y 选项和上述命令。
批量无提示覆盖所有文件复制文件
执行以下命令复制现有文件而不提示覆盖现有文件。
xcopy C:\testfolder D:\testfolder /i /s /y
.webp)
/y - 避免提示确认是否覆盖目的地的现有文件。
通过网络批量复制文件
xcopy C:\Videos "\\server\media\videos" /s /i /z /w
/s- 复制要复制的文件夹中的目录、子目录和文件,除非它们为空。/i- 强制xcopy假定目标是一个目录并创建一个新目录。如果不使用,系统将提示你输入目标是文件还是目录。/z- 在重新启动模式下通过网络复制,即,如果在复制过程中连接丢失,则在连接恢复时恢复。它还显示完成百分比。/w- 显示以下消息:按任意键开始复制文件。它等待你的响应以开始复制过程。
因此,我们讨论了如何在复制许多文件时覆盖所有现有文件而不显示提示,即它确认覆盖所有文件而不显示每个文件的提示。
xcopy 命令提供了许多其他选项;你可以通过运行 xcopy /? 来检查它们在命令提示符中。
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe