Pregunta

¿Hay una manera fácil de verificar todos los archivos se han copiado correctamente cuando se llama a la copia material? Pensé en usar la suma de comprobación en todos los archivos, pero me imagino PowerShell (v2) ya habría algo, y yo no lo encuentro.

¿Fue útil?

Solución

No, no hay y aquí es por qué. Copy-Item es un cmdlet genérico que funciona para todos los proveedores de espacio de nombres. Por lo que los artículos que son copiadas podrían ser archivos, o la configuración del registro, o secciones de configuración de IIS, etc. Verificación de una copia de archivo es un poco diferente a la verificación de una copia de la configuración del registro.

ACTUALIZACIÓN: Como ha señalado @Dave_S interruptor de verificación del comando XCOPY no es el tipo de verificación que busca.

Si va a copiar los archivos de texto se puede utilizar el comando de Windows PowerShell Compare-Object.

Si va a copiar los archivos binarios que podría utilizar el comando fc.exe sistema con / b interruptor.

Otros consejos

Sé que es un viejo hilo, pero yo pensé que había puesto esto en caso de que nadie más lo está leyendo ... el modificador / v no verificar los datos! Sólo se asegura de que la copia sea legible. Ver http://support.microsoft.com/kb/126457 para más detalles.

Mi solución favorita actual es xcopy en combinación con una auditoría hashdeep. Pueden agruparse en una pequeña BAT-archivo.

Apenas una actualización, Powershell v4 incluye Get-FileHash que puede ser utilizado para verificar un archivo fue copiado con éxito. Si el hash es el mismo, el archivo se ha copiado correctamente. Enlace Biblioteca TechNet .

utilizo esta respuesta para llegar a la siguiente.

(Get-ChildItem -file -path c:\files -Recurse).FullName | foreach {get-filehash $_ -Algorithm md5} también puede ser introducido en la exportación-CSV para comparar visualmente con facilidad los hash de archivo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top