robocopy将文件夹内容从本地更新到生产

时间:2019-01-14 23:48:27

标签: powershell copy robocopy

我想将某些文件夹从本地复制到生产环境。问题是我只想在文件夹结构存在时更新生产。我也不能使用复制粘贴,因为文件名不同,当我执行复制粘贴时,我最终得到4个文件:文件1,文件2,文件a,文件b。

Local:
    Directory1: file1, file2
    Directory2: abc.txt, hqyh.txt
Production:
    Directory1: xyz.txt, jht.txt
    Directory2: abc.txt, cde.txt
    Directory3: p.txt, q.txt
    Directory4: t.txt, u.txt

我的结果:

Production:
    Directory1: file1, file2
    Directory2: abc.txt, hqyh.txt

所需结果:

Production:
    Directory1: file1, file2
    Directory2: abc.txt, hqyh.txt
    Directory3: p.txt, q.txt
    Directory4: t.txt, u.txt

代码:

robocopy.exe C:\Local E:\Production /MIR

1 个答案:

答案 0 :(得分:0)

在父文件夹上运行

robocopy时,它无法执行您要的操作(跳过源中不存在的文件夹)。而是在子文件夹上运行它。

$src = 'C:\Local'
$dst = 'E:\Production'
Get-ChildItem $src | ForEach-Object {
    robocopy $_.FullName (Join-Path $dst $_.Name) /mir
}