如何将Windows文件夹结构从一个ec2实例递归复制到另一个?

时间:2018-08-01 00:12:32

标签: windows amazon-web-services powershell amazon-s3

我们有Windows 2012 R2 AWS ec2实例,其中为COTS应用程序创建了特定的文件夹结构。我们已经建立了容错能力,只要该实例出现故障而另一个实例出现,新实例就会从头开始安装所有内容。挑战是将文件夹结构复制到新的文件夹结构中。文件夹结构非常深(5级),我想避免在新实例出现时手动创建这100个文件夹结构。

为了说明,我当前的ec2具有:

C:\ABC
C:\ABC\sub1
C:\ABC\sub2
...
C:\ABC\subn

C:\ABC\sub1\child1-sub1
C:\ABC\sub1\child2-sub1
...
C:\ABC\sub2\child1-sub2
C:\ABC\sub2\child2-sub2
...

等等。

我的想法是,如果可以将文件夹结构(不带文件)复制到变量中,那么可以将变量写入文件中,也可以将文件复制到S3中。当新实例出现时,请从S3读取此文件,获取结构并重新创建。

我尝试使用" robocopy $source $dest /e /xf *.*",但是$dest是目录。我需要将结果存储到某种可以存储在某处的变量中。

有什么建议/想法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用tree命令来获取目录结构。

  

在PowerShell中,您可以使用tree命令打印树结构,   从当前目录开始到最深的后代   水平。您还可以将自定义路径指定为参数

然后如您所说,您可以将其存储在S3中。

最后,您可以run commands at startup从S3读取并在新的EC2实例中创建文件夹层次结构