复制大量文件,但排除Windows上的某些子文件夹


13

我要备份我的工作文件夹,该文件夹主要包含在以下文件夹结构中:

www
    - project 1
        - assets
        - node_modules
    - project 1
        - assets
        - node_modules
    - project 1
        - assets
        - node_modules

我需要复制所有项目,但要排除每个项目中的node_modules文件夹。有简单的方法可以批量进行此操作吗?由于我有大量的项目要经过。

在Windows 8.1上运行


请看以下问题:superuser.com/questions/359031/…。问题本身就是您的答案。
安格斯

Answers:


8

我需要复制所有项目,但要排除node_modules文件夹

您可以xcopy与以下exclude选项一起使用:

xcopy www backup /exclude:except.txt
  • except.txt 包含要排除的目录文件列表。

除了.txt:

node_modules

/EXCLUDE:file1[+file2][+file3]...

  • 每个文件可以包含一个或多个要排除的完整或部分路径名。
  • 当其中任何一个与SOURCE文件的绝对路径的任何部分匹配时,该文件将被排除。
  • 例如,指定类似\obj\或的字符串.obj将分别排除目录下的obj所有文件或具有.obj扩展名的所有文件。

xcopy-将文件和/或目录树复制到另一个文件夹。


进一步阅读


太好了,谢谢,我会努力的。我还发现了这一点:robocopy SOURCE DESTINATION /mir /xd FOLDER_TO_EXCLUDE—我认为它也可以工作吗?
Doidgey

很有可能。我不知道robocopy://请不要忘记接受我的回答;)
DavidPostill

robocopy一个尝试-它被设计为支持相同的命令选项xcopy,但有很多的改进-长路径的支持,缓冲,unicode的,它保留了时间戳等等等等Robocopy是因为Vista中,安装在Windows XP的一部分。
user1016274

该命令没有从我的源中复制任何子文件夹,仅复制了该文件夹中的文件。
Qwerty

@DavidPostill我是否必须将要排除的目录放在文本文件中,然后在命令中引用该文本文件?我不能直接告诉它要排除的目录吗?我想robocopy更好。
莎燕

7

感谢@DavidPostill的回答。它很好。但是,我确实也设法使robocopy正常工作。对于那些可能会帮助的人,命令是:

robocopy SOURCE DEST /mir /xd node_modules

源是要复制的文件夹,目标是目标。最后,我将node_modules作为要排除的文件夹。


2
很好robocopy /mir。非常强大的开关可以带来很多好处,但是在使用它之前,请先了解该开关的功能。它将同步两个目录,包括删除源目录中不存在的项目。
亚当·普洛彻

非常感谢!这对于将我的Documents文件夹与Dropbox同步非常有效,但不包括node_modules文件夹,因为它们占用了太多空间
Ben Gubler

1
@AdamPlocher您的评论使我免于数据丢失。我一直在使用robocopy代替移动文件夹,但我没有想到它将从目标文件夹中删除文件。幸运的是,我能够从4天前恢复备份,所以谢谢。
干草
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.