Robocopy:复制保存文件夹结构但添加子文件夹的文件

我需要将包含子文件夹的文件夹复制到另一台机器上的共享文件夹中。 在此期间,脚本应在每个目标文件夹中创build一个自定义子文件夹,并将文件放置在那里

我希望这个例子说明了这个任务:

  1. 对于以下源文件夹:

    --Logs ----Application ------Service --------Log1.txt --------Log2.txt ------WebSite --------Log1.txt --------Log2.txt 
  2. 目标文件夹应按以下方式创build:

     --Logs ----Application ------Service --------Machine1 ----------Log1.txt ----------Log2.txt ------WebSite --------Machine1 ----------Log1.txt ----------Log2.txt 

正如你在最底层所看到的,子文件夹Machine1已经被创build了。 你能提供一个PowerShell脚本的例子吗?

我在ROBOCOPY命令中调查了input参数。 看来它不允许这样做直截了当。

另外我知道,我可以symply遍历所有文件夹结构,创build所需的子文件夹,并将文件复制到每个子文件夹。 但是这似乎太“长”了。 所以我想知道如果我错过了什么。 也许有一个更好的方法来做到这一点。

我建议使用robocopy来复制子文件夹的内容:

 $srcBase = 'C:\some\Logs\Application' $dstBase = 'D:\other\Logs\Application' Get-ChildItem $srcBase | ? { $_.PSIsContainer } | % { $dst = "$dstBase\$($_.Name)\Machine1" & robocopy $_.FullName $dst /e }