Ms-Dos - Bat para mover a unidad de red

 
Vista:

Bat para mover a unidad de red

Publicado por Javier Marquez (1 intervención) el 19/01/2021 10:46:53
Buenos dias, escribo buscando una solucion a un problema no muy dificil , pero que me esta volviendo loco y no se que esta pasando.

Necesito mover todo el contenido de una carpeta (contiene carpetas y ficheros)a otra carpeta en red de mi file server, manteniendo atributos y que no pregunte si quiero sobreescribir, si no que lo haga directamente. y que en la carpeta de origen no quede nada, y en la destino, solo lo que se ha copiado

Necesito mantener atributos, que la carpeta origen quede vacia, tengo permisos de administrador.

GRacias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Bat para mover a unidad de red

Publicado por Antoni Masana (811 intervenciones) el 19/01/2021 14:55:19
Para copiar todo el contenido de una carpeta utiliza el comando XCOPY

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
C:\Tmp>xcopy /?
Copia árboles de directorios y archivos.
 
XCOPY source [destination] [/A | /M] [/D[:fecha]] [/P] [/S [/E]] [/V] [/W]
                           [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
                           [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B] [/J]
                           [/EXCLUDE:archivo1[+archivo2][+archivo3]...]
 
  source         Especifica los archivos que se copiarán.
  destination    Especifica la ubicación y/o el nombre de los archivos nuevos.
 
  /A           Copia solo archivos con el atributo de archivo establecido; no cambia el atributo.
  /M           Copia solo archivos con el atributo de archivo de establecido; desactiva el atributo de archivo.
  /D:m-d-y     Copia archivos cambiados durante o después de la fecha especificada. Si no se especifica una
               fecha, copia solo los archivos cuya fecha de origen es más reciente que la fecha de destino.
 
  /EXCLUDE:archivo1[+archivo2][+archivo3]...
               Especifica una lista de archivos que contienen cadenas. Los archivos deben tener una cadena por
               línea. Cuando cualquiera de las cadenas coincida con cualquier parte de la ruta de acceso
               absoluta del archivo que se debe copiar, ese archivo se excluirá de la copia. Por ejemplo, si
               especifica una cadena como \obj\ u .obj, se excluirán todos los archivos ubicados en el
               directorio obj o todos los archivos con la extensión .obj, respectivamente.
 
  /P           Pregunta antes de crear cada archivo de destino.
  /S           Copia directorios y subdirectorios, excepto los vacíos.
  /E           Copia directorios y subdirectorios, incluidos los vacíos.
               Igual que /S /E. Se puede usar para modificar /T.
  /V           Comprueba el tamaño de cada archivo nuevo.
  /W           Pide que se presione una tecla antes de copiar.
  /C           Continúa copiando incluso si ocurren errores.
  /I           Si el destino no existe y se está copiando más de un archivo,
               se da por supuesto que el destino debe ser un directorio.
  /Q           No muestra nombres de archivo mientras copia.
  /F           Muestra los nombres completos de los archivos de origen y de destino mientras realiza la copia.
  /L           Muestra los archivos que se copiarán.
  /G           Permite la copia de archivos cifrados en un destino que no es compatible con el cifrado.
  /H           Copia archivos ocultos y también archivos del sistema.
  /R           Sobrescribe archivos de solo lectura.
  /T           Crea una estructura de directorios, pero no copia archivos. No
               incluye directorios o subdirectorios vacíos. /T /E incluye
               directorios y subdirectorios vacíos.
  /U           Copia solo archivos que ya existen en el destino.
  /K           Copia atributos. Xcopy normal restablecerá los atributos de solo lectura.
  /N           Realiza la copia con los nombres cortos generados.
  /O           Copia la propiedad de archivos y la información de ACL.
  /X           Copia la configuración de la auditoría de archivos (implica /O).
  /Y           Suprime la petición de confirmación de sobrescritura de un archivo de destino existente.
  /-Y          Pide confirmación de sobrescritura de un archivo de destino existente.
  /Z           Copia archivos de red en modo reiniciable.
  /B           Copia el vínculo simbólico en vez del destino del vínculo.
  /J           Copia con E/S no almacenada en el búfer. Recomendado para archivos muy grandes.
 
El modificador /Y puede preestablecerse en la variable de entorno COPYCMD.
Esto se puede reemplazar con /-Y en la línea de comandos.

He marcado en negrita los que me parecen más importantes en tu caso.
Despues del XCOPY verifica que la copia a terminado correctamente antes de borrar:

1
2
3
4
5
echo off
CD C:\Origen
IF not  %ErrorLevel% EQU 0 EXIT
XCOPY *.* %Destino% /E /Y ...
IF %ErrorLevel% EQU 0 RD . /S /Q 2>nul

Las lineas 2 y 3 son para ponerte en el directorio que quiedes copiar y asegurarte que lo ha realizado correctamente antes de empezar a copiar.

Si la copia es correcta ( %ErrorLevel% EQU 0 ) borra todo elk contenido del directorio ( RD . ) MUCHISIMO cuidado con esta instrucción porque se carga un disco es un suspido si lo ejecutas en la raiz del disco ( por ejemplo en C:\ )


Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar