Nombres largos en Windows, enlaces simbólicos y VSS

Esta tarde me he encontrado con un problema conocido, pero no por ello menos molesto, a la hora de recuperar una copia VSS ( http://en.wikipedia.org/wiki/Shadow_Copy ) .

Los nombres de los archivos son demasiado largos para copiarlos. 

Normalmente, la solución rápida es montar una parte de esa ruta monstruosa ( más de 260 caracteres ) en una unidad de red, y copiar los archivos a la ubicación de recuperación.

Pero al tratarse de un snapshot VSS, esto se hace harto complicado.

Para solucionarlo de manera efectiva, vamos a aprovecharnos de las capacidades de DiskShadow ( http://technet.microsoft.com/es-es/library/cc772172(v=ws.10).aspx ) y mklink .

Estas herramientas son para Windows 2008 Server, pero pueden usarse también en Windows 7 sin problemas.

Necesitaremos descargar el ejecutable DISKSHADOW ( http://jrudd.org/2010/07/using-backuppc-with-diskshadow-to-backup-open-files/ )  si no lo tenemos ya. 

Empezamos viendo qué snapshots hay disponibles en el sistema, y guardando esta información en un archivo de texto para poder buscar la inforamción necesaria de manera sencilla : (esta consola debe ser lanzada con permisos de administrador )

c:\temp> diskshadow /l listado_vss.txt

DISKSHADOW> list shadows

DISKSHADOW> exit

Ya tenemos nuestro listado, buscamos el snapshot correspondiente, y copiamos el "Shadow Copy Device Name" correspondiente.

De vuelta a nuestro CMD, crearemos un enlace simbólico a una ruta corta para poder utilizar herramientas del tipo robocopy, que no tienen limitación de longitud de caracteres, para copiar los contenidos de vuelta.

c:\temp> c:\>mklink /d c:\temp\s \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy68\

Esto creará un acceso directo a ese snapshot en c:\temp\s, recordad añadir la última barra "\" al snapshot, ya que si no no funcionará .

Tras copiar los archivos, hacemos :

c:\temp> rmdir c:\temp\s

y borramos el enlace.

Un saludo y no dudéis en preguntar si tenéis alguna duda.

 

Fuentes de la entrada :

http://jrudd.org/2010/07/using-backuppc-with-diskshadow-to-backup-open-f...

http://bennettadelson.wordpress.com/2012/02/01/previous-versions-and-sha...