1

我的目录结构如下所示;

folder1
  folder2 (thousands of folders like this)
    folder3
        someImage.jpeg
        someDoc.doc
        folder4 (optional folder)
           someImage.jpeg
           someDoc.doc

我希望脚本复制文件夹 2s,其中包含文件夹 4s,维护文件夹结构,但只复制文件夹 4 中的文件。像这样;

folder1
  folder2 (thousands of folders like this)
    folder3
      folder4 (optional folder)
        someImage.jpeg
        someDoc.doc

我有一个简单的 for 循环,它可以识别包含文件夹 4 的文件夹,然后将文件 Robocopy 到某个目录。我不知道如何在跳过文件夹 3 中的文件时复制整个文件夹结构。

4

2 回答 2

3

命令中有一个选项xcopy可以创建目录树。

  /T           Creates directory structure, but does not copy files. Does not
               include empty directories or subdirectories. /T /E includes
               empty directories and subdirectories.

首先执行此操作,然后仅复制文件夹 4s 中的文件。

于 2011-12-08T11:56:13.900 回答
1

正如@Andryi 在他的评论中指出的那样,您无法明确确定文件夹是否是树结构中最低的。因此,您必须提前决定要考虑哪一个足够低以开始复制。假设您决定它是结构中的第四个文件夹。在这种情况下,请使用此代码开始。

@echo off
for /d %%a in (*.*) do (
  echo  %%a
  for /d %%b in (%%a\*.*) do (
    echo  %%b
    for /d %%c in (%%b\*.*) do (
      echo  %%c
      for /d %%d in (%%c\*.*) do (
        echo  %%d
        for    %%f in (%%d\*.*) do (
          echo  %%f
        )
      )
    )
  )
)
于 2011-12-13T10:19:02.123 回答