Script do Windows para copiar arquivos da origem para o destino somente se o arquivo de destino for menor ou não existir

2

Eu tenho dois diretórios com arquivos semelhantes

C: \ dir1 e C: \ dir2

Eu preciso criar um script que copie o conteúdo de Dir 1 para Dir 2, mas copie somente o arquivo se o arquivo de origem tiver um tamanho de arquivo maior que o arquivo de destino ou se o arquivo não existir.

Eu não consegui encontrar uma maneira de fazer isso com o powershell ou o cmd.

    
por sjsjsjs8989 11.01.2017 / 07:30

1 resposta

1
Get-ChildItem "C:\Dir1" | Where-Object {-Not $_.PsIscontainer} | % {
    $file1 = $_.FullName;
    $file2 = $file1 -replace ("C:\Dir", "C:\Dir2")
    If (Test-Path $file2)
    {
        $file1s=$_.Length
        $file2s=(Get-Item $file2).Length
        if ($file1s -gt $file2s)
        {
            Copy-Item $file1 "C:\Dir2" -Force
        }
    }
    else
    {
        Copy-Item $file1 "C:\Dir2"
    }
}
    
por 11.01.2017 / 09:45