批处理/批处理一次复制文件夹和内容

zmo*_*mol 35 windows directory copy batch-file

我正在编写一个副本的批处理脚本.我想编写脚本来复制整个文件夹.当我想复制单个文件时,我会这样做

copy %~dp0file.txt file.txt 
Run Code Online (Sandbox Code Playgroud)

如果我有一个具有此结构的文件夹,是否有一个命令可以同时复制整个文件夹及其内容,同时保留确切的结构.

mainfolder/
  file1.txt
  file2.txt
  insidefolder/
     file3.txt
     file4.txt 
     file5.txt
Run Code Online (Sandbox Code Playgroud)

akf*_*akf 56

如果你有xcopy,你可以使用/Eparam,它将复制目录和子目录及其中的文件,包括维护空目录的目录结构

xcopy [source] [destination] /E
Run Code Online (Sandbox Code Playgroud)

  • 不推荐使用`xcopy`,当文件名超过254个字符时,会触发"内存不足"错误.使用`robocopy`代替:`robocopy C:\ source D:\ destination/COPYALL/E`https://en.wikipedia.org/wiki/Robocopy (7认同)
  • 顺便说一下,你也想要包含隐藏文件,保持安静,不要求确认.如果是这种情况你可以使用:`xcopy [source] [destination]/E/H/C/R/Q/Y`在任何情况下,请使用`xcopy /?检查这些选项的作用. (4认同)

Ver*_*ahn 14

旧方式:

xcopy [source] [destination] /E
Run Code Online (Sandbox Code Playgroud)

xcopy弃用.Robocopy取代了Xcopy.它配备了Windows 8,8.1和10.

robocopy [source] [destination] /E
Run Code Online (Sandbox Code Playgroud)

robocopy有几个优点:

  • 复制路径超过259个字符
  • 多线程复制

更多细节在这里.

  • 我在Windows 7上测试了“robocopy /?”,它也支持。 (2认同)

Cod*_*ray 6

我怀疑这个xcopy命令是你正在寻找的神奇子弹.

它可以复制文件,目录甚至整个驱动器,同时保留原始目录层次结构.与基本copy命令相比,还有一些其他选项可用.

这里查看文档.

如果您的批处理文件只需要在Windows Vista或更高版本上运行,则可以使用robocopy,这是一个比它更强大的工具xcopy,现在已内置到操作系统中.它的文档可以在这里找到.