Sto cercando di ricorsivamente attraverso una directory e copiarlo da A a B. che può essere fatto con il seguente:PowerShell Copy-Item, ma solo copiare i file modificati
Copy-Item C:\MyTest C:\MyTest2 –recurse
Voglio essere in grado però di copia solo nuovi file (quelli che esistono in src ma non in destinazione) e copiano anche solo i file che possono essere cambiati in base a un controllo CRC e non a un timestamp.
$file = "c:\scripts"
param
(
$file
)
$algo = [System.Security.Cryptography.HashAlgorithm]::Create("MD5")
$stream = New-Object System.IO.FileStream($file, [System.IO.FileMode]::Open)
$md5StringBuilder = New-Object System.Text.StringBuilder
$algo.ComputeHash($stream) | `
% { [void] $md5StringBuilder.Append($_.ToString("x2")) }
$md5StringBuilder.ToString()
$stream.Dispose()
Questo codice mi dà un controllo CRC su un file specifico ... io sono solo non è sicuro come mettere insieme i due script di darmi davvero quello che mi serve. Inoltre, non so se il controllo CRC sopra è in realtà il modo corretto di farlo.
Qualcuno ha qualche idea?
La mia prima domanda sarebbe stata quella di usare Robocopy? Stai davvero reinventando una ruota molto ben progettata qui. – EBGreen