Ms-Dos - Crear Backup

 
Vista:
sin imagen de perfil

Crear Backup

Publicado por Luis Enrique (2 intervenciones) el 28/07/2016 20:14:56
Hola, soy nuevo en el foro y tengo un par de dudas espero puedan ayudarme por favor,

Quiero copiar de la carpeta de red Z:\Impresiones a una carpeta que esta en C:\, dentro de esta se creara una carpeta con la fecha, pero al cambiar día no quiero que duplique los archivos, si no que ponga los archivos agregados en esa fecha, no se me doy a entender,

Si en la carpeta Z el día 28 07 2016 pusieron un archivo "1.pdf", y el 29 pusieron "2.pdf" quiero que solo actualice los archivos en la nueva carpeta y no duplicarlos,

El codigo que e usado es este pero no logro hacer mi cometido, pueden ayudarme por favor

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@ECHO OFF
 
:backup
 
:crearcarpeta
set fecha=%date%
set fecha=%fecha:/=%
mkdir %fecha%
cls
 
:respaldo
xcopy /c /e /q /h /r "Z:\Impresiones" "C:\RESPALDOS\%fecha%\"
 
goto backup
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

Crear Backup

Publicado por Antoni Masana (811 intervenciones) el 29/07/2016 07:54:20
Te añado un par de cosas que mejoran el resultado


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@ECHO OFF
 
:backup
 
:crearcarpeta
   set fecha=%date%
   set fecha=%fecha:/=%
 
   mkdir C:\RESPALDOS\%fecha%
   cls
 
:respaldo
   xcopy /c /e /q /h /r  /M  "Z:\Impresiones" "C:\RESPALDOS\%fecha%\"
 
goto backup

Si quieres poder tener las fechas ordenadas por Año + Mes + Día

1
2
3
4
5
6
7
8
9
10
11
12
13
@ECHO OFF
 
set aa=%date:~6,4%
set mm=%date:~3,4%
set dd=%date:~0,2%
 
set Fecha=%aa%%mm%%dd%
:o
set Fecha=%aa%.%mm%.%dd%
 
mkdir C:\RESPALDOS\%fecha% >nul 2>nul
 
xcopy /c /e /q /h /r /M "Z:\Impresiones" "C:\RESPALDOS\%fecha%\"


En tu ejemplo el proceso la copia de impresiones a respaldos se ejecuta indefinidamente. No finaliza nunca.

En este ultimo ejemplo si lo ejecutas el 29/07/2016 crea el directorio

C:\RESPALDOS\2016.07.29
o
C:\RESPALDOS\20160729
o
C:\RESPALDOS\29072016

Realiza la copia y finaliza. Si lo vuelves a ejecutar no copiara ningún fichero ( opción /M ) por que ya estan copiados.

El goto Backup sobra
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

Crear Backup

Publicado por durian (2 intervenciones) el 20/05/2018 21:31:23
hola, se que esta viejo este tema. una duda puedes explicarme que significa esto:@ECHO OFF

1
2
3
set aa=%date:~6,4%
set mm=%date:~3,4%
set dd=%date:~0,2%
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
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

Crear Backup

Publicado por Antoni Masana (811 intervenciones) el 21/05/2018 00:52:57
esta instrucción tiene tiene dos partes la primera y por antigüedad es el ECHO OFF que sirve para que no vaya mostrando cada una de las líneas del BAT, para ver el efecto que se evita ejecútalo con un ECHO ON .

El caracter @ al principio de la línea evita se se muestre esta al ejecutar un BAT.

Con estas dos premisas se consigue que no se vea ni el ECHO OFF

Te pongo tres ejemplo primero muestra el fichero x.BAT con un TYPE y después lo ejecuta

Ejemplo1
1
2
3
4
5
6
7
8
C:\Tmp>type x.bat
echo Hola
C:\Tmp>x
 
C:\Tmp>echo Hola
Hola
 
C:\Tmp>

Ejemplo 2
1
2
3
4
5
6
7
8
9
C:\Tmp>type x.bat
echo off
echo Hola
C:\Tmp>x
 
C:\Tmp>echo off
Hola
 
C:\Tmp>

Ejemplo 3
1
2
3
4
5
6
7
C:\Tmp>type x.bat
@echo off
echo Hola
C:\Tmp>x
Hola
 
C:\Tmp>

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
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

Crear Backup

Publicado por Antoni Masana (811 intervenciones) el 21/05/2018 08:17:31
Después de enviar la respuesta no sabia te referias al @echo off o a los SET

Ante la dura te respondo a lo segundo:

Fracciona la fecha y separa el año, el mes y el dia. para más información mira SET /?

Prueba este codigo
1
2
3
4
5
6
7
8
9
10
@echo off
set aa=%date:~6,4%
set mm=%date:~3,4%
set dd=%date:~0,2%
echo.
echo Hoy es: %Date%
echo.
echo Dia... %dd%
echo Mes... %mm%
echo Año... %aa%


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

Muchas gracias.

Publicado por durian (2 intervenciones) el 21/05/2018 19:13:03
Hola de nuevo, Muchas gracias por responder,
Mira necesito depurar a diario una carpeta de red que se respalda automaticamente. (no se si me explico) en resumidas.
por ejemplo:
todo esta en una carpeta compartida desde el servidor y estas serian las carpetas con sus sub carpetas y archivos.

AUTOS (carpeta principal)
contenido y mas carpetas (sub carpeta)


ARTEIDEAS (carpeta principal)
contenido y mas carpetas (sub carpeta)

EMPRESAS (carpeta principal)
contenido y mas carpetas (sub carpeta)

quisiera a diaro eliminar el contenido de las carpetas, osea eliminar todo el contenido de las carpetas sin eliminar la carpeta AUTOS, ARTEIDEAS y EMPRESAS.

la verdad no se si me explico bien.

llevo algo asi! pero o no me elimina el contenido o me elimina todo hasta la carpeta principal.

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
55
56
57
58
59
echo off
:menu
cls
color fc
title BIENVENIDO  AL DEPURADOR DE RETOQUE
echo.
echo BIENVENIDO %USERNAME%
ECHO.
ECHO ELIJE ENTRA LAS OPCIONES QUE DESEAS DEPURAR...
ECHO.
ECHO ======================================== ===
ECHO = 1. DEPURAR EDICIONES ==
ECHO = 2. DEPURAR SUPLEMENTOS ==
ECHO = 3. DEPURAR EDICION HOY ==
ECHO = 4. SALIR ==
ECHO ======================================== ===
ECHO.
SET /P ver= QUE DESEA HACER?
if %ver%==1 goto BORRARE
if %ver%==2 goto BORRARS
if %ver%==3 goto BORRAREH
if %ver%==4 goto salir
 
:BORRARE
DEL "W:\Retoque\ARTEIDEAS"
DEL "W:\Retoque\DXT"
DEL "W:\Retoque\EMPRESAS"
DEL "W:\Retoque\Finanzas Personales"
DEL "W:\Retoque\INDICE"
DEL "W:\Retoque\Internacionales"
DEL "W:\Retoque\POLITICA"
DEL "W:\Retoque\PORTADA"
DEL "W:\Retoque\PRIMER PLANO"
DEL "W:\Retoque\TERMOMETRO ECONOMICO NVO"
DEL "W:\Retoque\URBES Y ESTADOS"
DEL "W:\Retoque\Valores y Dinero"
msg * SE DEPURO EDICIONES
goto menu
 
:BORRARS
DEL "C:\Users\soporte\Desktop\prueba fotografia\AUTOS"
DEL "C:\Users\soporte\Desktop\prueba fotografia\LOS POLITICOS"
DEL "C:\Users\soporte\Desktop\prueba fotografia\THE WASHINGTON POST"
DEL "C:\Users\soporte\Desktop\prueba fotografia\ESTRATEGIAS"
DEL "C:\Users\soporte\Desktop\prueba fotografia\INDUSTRIA AUTOMOTRIZ"
DEL "C:\Users\soporte\Desktop\prueba fotografia\TURISMO"
 
 
msg * SE DEPURO SUPLEMENTOS
goto menu
 
:BORRAREH
DEL "V:\Infografias"
 
msg * SE DEPURO DE EDICION HOY: INFOGRAFIAS
goto menu
 
:salir
msg * GRACIAS POR USAR MI PROGRAMA...



Muchas Gracias Antoni Masana
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
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

Muchas gracias.

Publicado por Antoni Masana (811 intervenciones) el 21/05/2018 23:08:32
No entiendo que tipo de problema tienes

El borrado con los parámetros /S y /Q no pregunta si se quiere borrar y lo realiza en todos los sub-directorios del directorio especificado.
Añado un par de condiciones.

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
55
56
57
58
@echo off
:menu
    cls
    color fc
    title BIENVENIDO AL DEPURADOR DE RETOQUE
    echo.
    echo BIENVENIDO %USERNAME%
    ECHO.
    ECHO ELIJE ENTRA LAS OPCIONES QUE DESEAS DEPURAR...
    ECHO.
    ECHO ======================================== ===
    ECHO = 1. DEPURAR EDICIONES ==
    ECHO = 2. DEPURAR SUPLEMENTOS ==
    ECHO = 3. DEPURAR EDICION HOY ==
    ECHO = 4. SALIR ==
    ECHO ======================================== ===
    ECHO.
    SET /P ver= QUE DESEA HACER?
    if "%ver%" == ""  goto Salir
    if "%ver%" == "1" goto BORRARE
    if "%ver%" == "2" goto BORRARS
    if "%ver%" == "3" goto BORRAREH
    if "%ver%" == "4" goto salir
                      goto Menu
 
:BORRARE
    DEL /S /Q "W:\Retoque\ARTEIDEAS\*.*"
    DEL /S /Q "W:\Retoque\DXT\*.*"
    DEL /S /Q "W:\Retoque\EMPRESAS\*.*"
    DEL /S /Q "W:\Retoque\Finanzas Personales\*.*"
    DEL /S /Q "W:\Retoque\INDICE\*.*"
    DEL /S /Q "W:\Retoque\Internacionales\*.*"
    DEL /S /Q "W:\Retoque\POLITICA\*.*"
    DEL /S /Q "W:\Retoque\PORTADA\*.*"
    DEL /S /Q "W:\Retoque\PRIMER PLANO\*.*"
    DEL /S /Q "W:\Retoque\TERMOMETRO ECONOMICO NVO\*.*"
    DEL /S /Q "W:\Retoque\URBES Y ESTADOS\*.*"
    DEL /S /Q "W:\Retoque\Valores y Dinero\*.*"
    msg * SE DEPURO EDICIONES
    goto menu
 
:BORRARS
    DEL /S /Q "C:\Users\soporte\Desktop\prueba fotografia\AUTOS\*.*"
    DEL /S /Q "C:\Users\soporte\Desktop\prueba fotografia\LOS POLITICOS\*.*"
    DEL /S /Q "C:\Users\soporte\Desktop\prueba fotografia\THE WASHINGTON POST\*.*"
    DEL /S /Q "C:\Users\soporte\Desktop\prueba fotografia\ESTRATEGIAS\*.*"
    DEL /S /Q "C:\Users\soporte\Desktop\prueba fotografia\INDUSTRIA AUTOMOTRIZ\*.*"
    DEL /S /Q "C:\Users\soporte\Desktop\prueba fotografia\TURISMO\*.*"
    msg * SE DEPURO SUPLEMENTOS
    goto menu
 
:BORRAREH
    DEL /S /Q "V:\Infografias\*.*"
    msg * SE DEPURO DE EDICION HOY: INFOGRAFIAS
    goto menu
 
:salir
    msg * GRACIAS POR USAR MI PROGRAMA...

Los Asteriscos no son necesarios, lo asume por defecto. Es una costumbre mía.

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