Estoy tratando de copiar algunos directorios de un servidor antes de restaurar desde la copia de seguridad (mi última copia de seguridad estaba dañada, así que tengo que usar una anterior :(). Estoy en el Entorno de recuperación de Windows y tengo acceso al archivo del servidor sistema G:\
y mis medios de respaldo C:\
, pero como estoy más familiarizado con Linux, tengo algunos problemas con la línea de comandos en Windows, específicamente robocopy
.
Quiero copiar varios directorios (manteniendo la misma estructura de directorios) de G: \ a C: \ mientras excluyo otros (es decir, las carpetas de Windows y Archivos de programa). No puedo entender la sintaxis de la /XD
opción. Esperaba hacer algo como:
robocopy G: C:\backup /CREATE /XD "dir1","dir2", ...
NOTA: Quiero aclarar que quiero copiar los archivos reales manteniendo la estructura del directorio también. Acabo de comprobar y /create
solo crea archivos vacíos. Extraño.
fuente
/?
interruptor para obtener información de ayuda para los comandos de la consola de Windows. También está elhelp
comando, que es similar alman
programa de Linux , pero no lo he visto utilizado por programas de terceros (podría ser, no estoy familiarizado con cómo funciona, o si eso es posible).help
comando, pero no parece estar activo en el Entorno de recuperación de Windows (recibí un error como "No se encontró el comando 'ayuda'"). Robocopy es un comando predeterminado de Windows que reemplazó a xcopy y no es de terceros./MIR
(Mirror A to B) destruye cualquier archivo en B que no esté presente en A. Esto es útil cuando el directorio al que está copiando ya existe, y desea que la nueva versión (de B) sea un duplicado exacto de A (tal como existe actualmente).Sé que esto no responde la pregunta de OP, pero para cualquier persona aquí de google: XD fallará en un archivo de trabajo si usa comillas.
Malo:
Bueno:
Coloque tantas exclusiones como desee, línea tras línea, sin usar comillas (ya sea que haya espacios o no).
La forma en que descubrí esto fue mediante el uso del modificador de línea de comando / SAVE: myjobname que eliminó las comillas de mis directorios citados.
fuente
tienes que repetir la
/XD
partefuente
Mi solución para esto fue crear archivos .txt que contienen los archivos o directorios que quiero incluir o excluir. Tengo estos archivos en una subcarpeta "rcXcludes" en mi carpeta "Copia de seguridad". Mi método para nombrar los archivos es el siguiente. Los presento con "rc" (para robocopy), luego alguna notación reconocible para la aplicación o parte del sistema de archivos en el comando robocopy, luego agrego "B" o "R" (para Backup o Restore), luego "I" o "X" (para Incluir o Excluir), luego "D" o "F" (para Directorio o Archivo). Rodeo cada entrada con comillas dobles y un espacio entre las entradas. Un archivo "Incluir" puede tener archivos o directorios, pero los directorios deben tener una barra diagonal inversa. En un archivo "Excluir" para directorios no utiliza una barra diagonal inversa. Cualquier entrada de directorio es relativa a la ruta de origen en el comando robocopy. El contenido completo de cualquiera de estos archivos .txt debe estar en una línea yNo tener una línea de retorno de carraige. En mi archivo por lotes, uso un comando SET / P para importar el archivo .txt a una variable. Luego uso estas variables para ARCHIVOS o después de / XF o / XD. Por ejemplo, para hacer una copia de seguridad del perfil de Chrome del usuario actual sin copiar toda la carpeta "Predeterminada", utilizo lo siguiente.
En el archivo bat en, digamos, C: \ Backup.
fuente