使用批处理文件将文件夹的所有内容复制到另一个文件

SCM*_*SCM 121 windows directory copy batch-file

我有一个文件夹 C:\Folder1

我想将所有内容复制Folder1到另一个位置,D:\Folder2

如何使用批处理文件执行此操作?

eHu*_*ain 150

xcopy.exe这是解决方案.它内置于Windows中.

xcopy /s c:\Folder1 d:\Folder2
Run Code Online (Sandbox Code Playgroud)

您可以在http://www.computerhope.com/xcopyhlp.htm找到更多选项

  • 不推荐使用`xcopy`,当文件名超过254个字符时,会触发"内存不足"错误.使用`robocopy`代替:`robocopy C:\ Folder1 D:\ Folder2/COPYALL/E`https://en.wikipedia.org/wiki/Robocopy (13认同)
  • 你好Hussain,我在批处理文件中尝试了xcopy/sc:\ Folder1 d:\ Folder2命令,但它对我不起作用.你能指导我一下吗? (3认同)
  • 如果要复制空子目录,则应使用/ s/e标志. (3认同)

mgh*_*cks 36

如果你有robocopy,

robocopy C:\Folder1 D:\Folder2 /COPYALL /E
Run Code Online (Sandbox Code Playgroud)

除此以外,

xcopy /e /v C:\Folder1 D:\Folder2
Run Code Online (Sandbox Code Playgroud)

  • 如果复制了Folder1的内容,如果你想复制文件夹本身,你该怎么办? (2认同)
  • @KyleDelaney在目标中包含源文件夹名称,例如"xcopy/e/v C:\ Folder1 D:\ Folder2\Folder1 \" (2认同)

ghi*_*boz 18

如果要删除告知目标是文件或文件夹的消息,只需添加斜杠:

xcopy /s c:\Folder1 d:\Folder2\


小智 12

我看到很多答案暗示使用xcopy.但这是不必要的.由于问题清楚地提到作者想要文件夹中的内容而不是文件夹本身被复制在这种情况下我们可以 - :

copy "C:\Folder1" *.*  "D:\Folder2"
Run Code Online (Sandbox Code Playgroud)

xcopy如果存在任何子目录,这些都可以用于C:\Folder1

  • 我的“复制”命令(Windows 10 命令提示符)告诉我语法不正确。以下是正确的语法:`copy "C:\Folder1\*.*" "D:\Folder2"` (3认同)

Jor*_*dan 6

RoboCopy 对我不起作用,这里有一些很好的解决方案,但没有人解释 XCopy 开关及其功能。如果您的路径中有空格,您还需要引号。

xcopy /i /e "C:\temp\folder 1" "C:\temp\folder 2"

以下是微软的文档:

XCopy MS 文档

/s: Specifies to include subdirectories. Excludes empty subdirectories
/e: Copies all subdirectories, even if they are empty
/i: specifies the destination is a folder (Otherwise it prompts you)
Run Code Online (Sandbox Code Playgroud)