Robocopy y PowerShell

Es común que el día a día nos impida realizar backups con herramientas potentes ya sea por que requieren de configuración, desconocimiento,...

Mediante el comando Robocopy podremos realizar una copia de nuestros ficheros desde una carpeta a otra sin mucha complejidad, el siguiente comando por ejemplo nos copiará todos los ficheros y carpetas alojados en “D:\MiCarpetaOrigen” en la carpeta “F:\MiCarpetaDestino” controlando además si hay diferencias y que los ficheros no estén bloqueados.

robocopy D:\MiCarpetaOrigen F:\MiCarpetaDestino /COPYALL /E /R:0 /xo

Pero como siempre nos gusta hacerlo un poco más complejo, a continuación os dejo un ejemplo de cómo utilizar Powershell para realizar una copia de varias carpetas distintas al mismo tiempo, solo tenéis que indicar vuestros directorios de origen en la variable $arSourceFolders y los directorios destino en la variable $arDestinationFolders.

 

# Backup with Robocopy and powershell by Mario Cortes
Write-host -foregroundcolor 'green' "Robocopy&PowerShell by Mario Cortes";

$arSourceFolders = ("D:\MySourcePath1", "D:\MySourcePath2");
$arDestinationFolders = ("F:\MyDestinationPath1", "F:\MyDestinationPath2");

if($arSourceFolders.Length -ne $arDestinationFolders.Length)
{
    Write-host -foregroundcolor 'red' "The numbers of folders have to similar";
}
else{
    for($i=0; $i -lt $arSourceFolders.Length; $i++)
    {
        Write-host -foregroundcolor 'green' "Process " $arSourceFolders[$i] " -> " $arDestinationFolders[$i] ;
        robocopy $arSourceFolders[$i] $arDestinationFolders[$i] /COPYALL /E /R:0 /xo
    }
}

Write-host -foregroundcolor 'green' "Done :)";
 

Os dejo el enlace al script Robocopy and PowerShell que podréis descargar desde Script Center donde encontraréis además una gran cantidad de script útiles para una gran variedad de propósitos.

I Love PowerShell.

Published 9/11/2011 21:56 por Mario Cortés Flores
Archivado en: ,,
Comparte este post:
http://geeks.ms/blogs/mcortes/archive/2011/11/09/robocopy-y-powershell.aspx