2017-08-04 43 views
-1

我搜索了四周,似乎无法找到我自己的解决方案,所以我寻求帮助!从目录列表中,将所有子文件夹复制到每个目录都有自己的文件夹的新位置

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

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

任何帮助将被大力赞赏,自动化这变得越来越必要,因为我正在发送更多的目录,并且手动过程将无法顺利扩展。

任何帮助,指向我的方向或提供建议是非常赞赏。

干杯

+0

你看过[复制项目](https://docs.microsoft.com/en-us/powershell/module/Microsoft.PowerShell.Management/Copy-Item?view=powershell-5.1)cmdlet吗? – Sambardo

回答

2

您可以使用PowerShell中的Copy-Item cmdlet与-recurse-container开关组合,以复制和保存文件夹结构!备份完整的网络文件夹以及所有子文件夹太棒了!

这是我的源代码目录。

C:\temp\stack>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:\temp\stack\source -Destination C:\temp\stack\Dest -Container -Recurse 

现在我已将整个结构维护在Dest文件夹中。

C:\temp\stack>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 
0

复制项目将如上所述工作。 robocopy也是为了这个确切的目的而构建的,并且可以在cmd或Powershell中运行。使用信息运行robocopy /?

你可能想是这样的:

robocopy "Y:\Network\Source\Location" "C:\Local\Machine\Destination\Location" /E 

/E均值复制的目录及其所有子目录。

相关问题