使用命令行,我想将一个目录复制到另一个目录。例如有目录C:/test和C:/test2.
我想复制C:/test进去C:/test2以便结果是C:/test2/test
到目前为止,我发现的所有内容只会将包含在 中的文件和文件夹复制C:/test到 中C:/test2,但会忽略父目录。
viv*_*vin 59
尝试XCOPY与/E开关一起使用。更多信息在这里。
我已经好多年没有从我的大脑中访问这些信息了!
更新
该文档说它从源目录复制所有文件和子目录(意味着未创建父目录),因此您必须先创建testinC:\test2然后使用XCOPY.
小智 38
xcopy c:\test c:\test2\test /s /e /h
Run Code Online (Sandbox Code Playgroud)
Pro*_*Rev 27
如果您要创建备份脚本,请使用 ROBOCOPY。xcopy 已被弃用,并且可能会在不久的将来逐步停止使用。robocopy 可以做 xcopy 可以做的一切。它也更加灵活和可靠。使用 robocopy 创建脚本将使它们面向未来。
使用 robocopy 轻松复制文件夹。robocopy 命令取代了 xcopy 命令。它可以快速复制整个文件夹,而不必担心定义内容。例如,要将 C:\tools 目录的所有内容复制到新文件夹 D:\backup\tools,请输入以下内容:
robocopy C:\tools D:\backup\tools /e
Run Code Online (Sandbox Code Playgroud)
/e 修饰符告诉 robocopy 包含所有子目录。这包括空文件夹。robocopy 将自动复制隐藏文件和系统文件。如果目标位置不存在新目录,它将创建新目录。
镜像目录。镜像目录非常适合进行备份。robocopy 的 mirror 选项会将所有内容从源复制到目标。然后它将删除目标中不存在源的任何内容。这可确保您的备份仅包含最新版本的文件。例如,要将 C:\Users\My Documents 镜像到 D:\backup\My Documents,请输入以下内容:[4]
robocopy "C:\Users\My Documents" "D:\backup\My Documents" /mir
Run Code Online (Sandbox Code Playgroud)
此功能将保留原始文件的所有权限。
启用重新启动。您可能希望包括重新启动进程的能力,以防连接在复制中间被切断。
robocopy "C:\Users\My Documents" "D:\backup\My Documents" /z
Run Code Online (Sandbox Code Playgroud)记录复制过程。robocopy 允许您创建日志文件。这可以帮助您查明问题或生成已复制内容的存档。
robocopy "C:\Users\My Documents" "D:\backup\My Documents" /log+:<filename>.txt
Run Code Online (Sandbox Code Playgroud)
/log+ 修饰符将附加现有的日志文件而不是覆盖它。如果您只想覆盖旧的日志文件,请使用 /log:.txt。
我推荐robocopy 而不是xcopy,因为它有更多的选择,包括保持时间戳不变,我认为这是必不可少的。
Robocopy 需要在 XP/2003 上添加,但从 Vista 开始它是标准的。
我实际上通常使用xxcopy,但 64 位版本不是免费的。
小智 5
XCOPY SourceDrive: DestinationDrive: /S /E
Run Code Online (Sandbox Code Playgroud)
例如,如果您需要通过命令行或从 xboot 命令环境将E:驱动器数据复制到H:驱动器(外部硬盘驱动器)。
xboot:\>XCOPY E:\ "H:\BackupFolder\" /S /E
Run Code Online (Sandbox Code Playgroud)