从目录列表中,将所有子文件夹复制到新位置,每个子文件夹每个目录都有自己的文件夹



我已经四处搜索,似乎无法自己找到解决方案,所以我正在寻求帮助!

我有一个~100个文件位置/目录的列表。它们位于网络上,我需要将它们全部抓取并存储在本地。我对 VBA 有一些经验,所以我打算尝试使用它(也许将目录放在电子表格中并运行宏......

当我将它们存储在本地时,我需要保留它们来自的目录的名称。

任何帮助都将不胜感激,自动化变得越来越必要,因为我被发送了更多的目录,并且随着这项工作的发展,手动过程将无法很好地扩展。

任何帮助,为我指明方向或提供建议,非常感谢。

干杯

可以将 PowerShell 中的Copy-Itemcmdlet 与-recurse-container开关结合使用,以复制和保留文件夹结构! 备份完整的网络文件夹以及所有子文件夹非常棒!

这是我的源目录。

C:tempstack>tree /F
Folder PATH listing
Volume serial number is 0000000B 9215:D0CB
C:.
├───Dest
└───Source
├───1
│       Archive.rar
│       File01.bmp
│
├───2
│       Archive.rar
│       File01.bmp
│
├───3
│       Archive.rar
│       File01.bmp
│
└───4
3.txt
Archive.rar
File01.bmp
Ham.txt

如您所见,我在Source中有一些文件和文件夹,每个文件和文件夹都有子文件夹和子文件。 不过,使用这个简单的PowerShell命令,我可以轻松地将整个结构移动到Dest中。

copy-item -Path c:tempstacksource -Destination C:tempstackDest -Container -Recurse 

现在,我也在Dest文件夹中维护了整个结构。

C:tempstack>tree /F
Folder PATH listing
Volume serial number is 000000DE 9215:D0CB
C:.
├───Dest
│   ├───1
│   │       Archive.rar
│   │       File01.bmp
│   │
│   ├───2
│   │       Archive.rar
│   │       File01.bmp
│   │
│   ├───3
│   │       Archive.rar
│   │       File01.bmp
│   │
│   └───4
│           3.txt
│           Archive.rar
│           File01.bmp
│           Ham.txt

复制项将按上述方式工作。 Robocopy也是为此目的而构建的,它将在cmd或Powershell中运行。 运行robocopy /?以获取使用情况信息。

您可能想要类似以下内容:

robocopy "Y:NetworkSourceLocation" "C:LocalMachineDestinationLocation" /E

/E 表示复制目录和所有子目录。

最新更新