Domanda

C'è un modo semplice per verificare tutti i file sono stati copiati correttamente quando si chiama copia-articolo? Ho pensato di usare il checksum di tutti i file, ma immagino PowerShell (v2) sarebbe già qualcosa, e io non riesco a trovarlo.

È stato utile?

Soluzione

No non c'è ed ecco perché. Copy-Item è un cmdlet generico che funziona per tutti i fornitori di namespace. Così gli articoli che sono copiati potrebbero essere file o impostazioni di registro, o sezioni di configurazione di IIS, ecc Verifica di una copia del file è un po 'diverso rispetto a verifica di una copia delle impostazioni di registro.

UPDATE: Come sottolineato da @Dave_S interruttore di taratura del comando XCOPY non è il tipo di verifica che si sta cercando.

Se si copiano i file di testo è possibile utilizzare il commandlet PowerShell Compare-Object.

Se si copiano i file binari è possibile utilizzare il comando di sistema fc.exe con / b interruttore.

Altri suggerimenti

Lo so che è un vecchio thread, ma ho pensato di postare questo solo nel caso in cui nessun altro è la lettura che ... l'opzione / v non verificare i dati! Si fa solo in modo che la copia è leggibile. per ulteriori informazioni, vedere http://support.microsoft.com/kb/126457 .

La mia soluzione preferita corrente è xcopy in combinazione con una verifica hashdeep. Può essere imballato insieme in una piccola BAT-file.

Solo un aggiornamento, PowerShell v4 include Get-FileHash che può essere utilizzato per verificare un file è stato copiato correttamente. Se l'hash è lo stesso, il file è stato copiato correttamente. Link a Libreria TechNet .

questa risposta a venire con la in seguito.

(Get-ChildItem -file -path c:\files -Recurse).FullName | foreach {get-filehash $_ -Algorithm md5} Inoltre può essere convogliata in Export-CSV facilmente visivamente confrontare gli hash dei file.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top