Ms-Dos - Respaldar Archivos

 
Vista:

Respaldar Archivos

Publicado por Jose Gpe Sanz (2 intervenciones) el 23/10/2008 16:12:47
Saludos Foro.!

Ayuda por favor

Tengo una gran cantidad de archivos en excel en diferentes carpetas
y respaldo cada 5 dias. como no me acuerdo de que archivos modifique.
lo que quiero es que se me respalde unicamente los archivos que tuvieron alguna modificacion durante este periodo de 5 dias. me comentaron que con un Archivo.BAT
pero no lo se hacer. alguien me puede asesorar para hacerlo.

de antemano muchas 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

RE:Respaldar Archivos

Publicado por amparitohijo (94 intervenciones) el 23/10/2008 18:17:55
Hola Jose

Se podría hacer comparando con un script las fechas de última modificación y copiar sólo los que hayan sido modificados más recientemente. Para ello habría que generar un script (archivo.bat) utilizando, por ejemplo, el comando FOR de msdos, además de DIR /T:c
Si además debes sumar o restar fechas, te recomiendo pasarlas a fecha juliana. Encontrarás más información sobre todo esto en este mismo foro.

Si no tienes mucha experiencia en este tipo de archivos, te recomiendo que busques alguien que te lo haga. Otra opcion es, si no tienes prisa, ir familiarizándote con la creación/programación de archivos batch y el lenguaje de MSDos.

Siento no poder hacértelo yo mismo, pero me llevaría algún tiempo y ahora ando escaso.

Para cualquier otra consulta (algo más concreto), aquí nos tienes.
Salu2
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

RE:Respaldar Archivos

Publicado por amparitohijo (94 intervenciones) el 23/10/2008 18:40:56
Hola de nuevo.
Me siento fatal por no poder ayudarte más. Mientras encuentras una solución te doy varias pistas:

Haz una lista de los archivos en otro archivo llamado LISTA.TXT de la siguiente manera:
DIR /T:c /-C *.xls > LISTA.TXT
Con esto consigues un archivo con este contenido:
[[[
El volumen de la unidad C es System
El número de serie del volumen es: 6819-8E9E

Directorio de C:Documents and SettingsachaumeDesktop

24/07/2008 11:32 53760 modificadas.xls
04/09/2008 10:20 24064 Servidores_Aplicaciones.xls
21/08/2008 12:02 25600 indcidencias.xls
22/07/2008 15:41 20992 listado_servidores.xls
4 archivos 124416 bytes
0 dirs 45920526336 bytes libres
]]]

La fecha que aparece es la de última modificación.

Luego debes almacenar la fecha y el nombre del archivo en una variable. Se me ocurre hacer una subrutina que sea la que reste las fechas (otro archivo.bat)

FOR /F "SKIP=5 TOKENS=1-7 DELIMS= ./" %%a IN (LISTA.TXT) DO (COMPARAFECHAS.BAT %%a %%b &&c &&f.%%g)
Esta sentencia se salta las primeras 5 lineas del archivo LISTA.BAT, que no nos sirven para nada ya que no contienen información de los archivos. Tambien le dice que coja las variables de 1 a 7. Luego escoge los separadores (espacio, punto y barra)
Por ultimo, por cada archivo encontrado ejecuta el programa COMPARAFECHAS.BAT de la siguiente manera (realmente es lo que hace):

COMPARAFECHAS.BAT 24 07 2008 modificadas.xls
COMPARAFECHAS.BAT 04 09 2008 Servidores_Aplicaciones.xls
COMPARAFECHAS.BAT 21 08 2008 indcidencias.xls
COMPARAFECHAS.BAT 22 07 2008 listado_servidores.xls

tambien haría lo siguiente, ya que no especifica donde acaba:
COMPARAFECHAS.BAT 4 archivos 124416
COMPARAFECHAS.BAT 0 dirs 45920526336

Habría que generar un segundo batch (por ejemplo ARCHIVOPRINCIPAL.BAT) que es el encargado de manejar las fechas introducidas y decidir si copia o no copia...

Como ves es más complicado de lo que a simple vista parece, pero aquí te doy un par de pistas para que te vayas familiarizando con el lenguaje de MSDOS.
Tambien puedes poner el comando del que quieras obtener ayuda seguido de /? en la consola de comandos (cmd.exe en Windows). Por ejemplo:
copy /?
Te dará información de cómo utilizar el comando copy

Espero que resuelvas el problema. Mucha suerte y un saludo.
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

RE:Respaldar Archivos

Publicado por Jose Gpe Sanz (2 intervenciones) el 23/10/2008 22:51:15
Saludos

Gracias de antemano por tu ayuda

si tu quieres me voy apoyar en ti para intentar de hacer poco a poco

para empezar ya hice lista pero es de un solo directorio

10/06/2008 10:18 a.m. 25,088 CATCONTAPLUS.xls
12/02/2008 03:59 p.m. 18,944 Determinacion del IETU.xls
15/02/2008 01:17 p.m. 330,752 SUELDOS 2007 (1).xls
15/02/2008 01:16 p.m. 421,888 SUELDOS 2007.xls

pero en el primer archivo su fecha es de 11/06/2008 y en al lista me sale 10/06/2008 10:18 a.m.

alli que paso o que le pongo...?
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

RE:Respaldar Archivos

Publicado por amparitohijo (94 intervenciones) el 24/10/2008 10:17:17
El comando DIR tiene varias opciones para controlar la fecha:

/T Controla el campo de fecha que se mostrará o usará para realizar la clasificación
fecha C Creación
A Último acceso
W Última modificación

Esto es, pon DIR /T:c y te dará la fecha de creación
Pon DIR /T:a y te mostrará la fecha de último acceso (no de modificación)
y por último DIR /T:w te presenta la fecha de la última modificación

---- Otras opciones interesantes: ----
/X Muestra los nombres cortos generados para los nombres de
archivo que no tienen el formato 8.3. El formato es el de
/N con el nombre corto especificado antes del nombre largo.
Si no existe un nombre corto, se muestran espacios en blanco
en su lugar.
/4 Muestra el año con 4 dígitos

Para el archivo.bat yo utilizaría DIR /T:w /X /4 *.xls

Escoge tu preferida.
Salu2
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

RE:Respaldar Archivos

Publicado por Armando Nava  (194 intervenciones) el 24/10/2008 02:02:07
Saludos

Junto con lo que ya te dijo amparitohijo te hago otra aportación,

Usa esta instrucción y te mandara todos los directorios donde hay archivos de excell.

dir /S *.xls |sort |FINDSTR Directorio

Luego tendriamos que aislar el tercer campo que es la ruta del directorio.
Buscar en cada uno y comparar la fecha, como buscas fechas especificas se puede establecer la busqueda en cinco fechas

Te debo el codigo de lo que he mencionado.
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

RE:Respaldar Archivos

Publicado por Antoni Masana (295 intervenciones) el 24/10/2008 07:36:51
A riesgo de ser simplista, las cosas simples, a veces son las que mejor funcionan.

Usando el comando XCOPY puedes copiar los ficheros modificados

- Modificados desde la ultima copia. (Ver /M )
- Desde una fecha (Ver /D)
- Subdirectorios (Ver /S)
- Excluir de la copia (Ver /EXCLUDE)

Ejemplo 1 - XCOPY /S /M
Ejemplo 2 - XCOPY /S /D:%1

====== S I N T A X I S D E L X C O P Y ==========================

C:> XCOPY /?

Copia árboles de archivos y directorios.

XCOPY origen [destino] [/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]
[/EXCLUDE:archivo1[+archivo2][+archivo3]...]

origen Especifica el archivo(s) que hay que copiar.
destino Especifica la ubicación y/o nombres de archivos nuevos.
/A Copia sólo archivos con el atributo del archivo establecido,
no cambia el atributo.
/M Copia sólo archivos con el atributo del archivo establecido,
desactiva los atributos del archivo.
/D:m-d-y Copia archivos cambiados durante o después de la fecha.
Si no se da una fecha, copia sólo aquellos archivos cuya
fecha de origen es más nueva que la fecha de origen.
/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 que coincidan con cualquier
parte de la ruta absoluta del archivo que se debe copiar,
ese archivo se excluirá de ser copiado. Por ejemplo, el
especificar una cadena como obj u .obj excluirá todos
los archivos por debajo del 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 ,exceptuando los vacíos.
/E Copia directorios y subdirectorios, incluyendo los vacíos.
Igual que /S /E. Puede ser usado para modificar /T.
/V Verifica el tamaño de cada archivo nuevo.
/W Pide que se presione una tecla antes de copiar.
/C Continua copiando incluso si ocurren errores.
/I Si el destino no existe y hay que copiar más de un archivo,
se asume que el destino debe ser un directorio.
/Q No muestra nombres de archivos mientras copia.
/F Muestra todo el origen y el destino de los nombres de
archivo mientras se copian.
/L Muestra los archivos que serán copiados.
/G Permite la copia de archivos destino cifrados para el destino
que no es compatible con el cifrado.
/H Copia archivos ocultos y también archivos del sistema.
/R Sobrescribe archivos de sólo-lectura.
/T Crea una estructura de directorio, pero no copia archivos. No
incluye directorios o subdirectorios vacíos. /T /E incluye
directorios y subdirectorios vacíos.
/U Copia sólo archivos que ya existen en el destino.
/K Copia atributos. Xcopy normal, restablecerá atributos
de sólo lectura.
/N Copia utilizando los nombres cortos generados.
/O Copia archivos de propiedad e información ACL.
/X Copia archivos de configuración de auditoría (implica /O).
/Y Suprime la pregunta de confirmación para sobrescribir un archivo
de destino existente.
/-Y Pregunta por la confirmación de sobrescritura de un archivo
de destino existente.
/Z Copia archivos de red en modo reiniciable.

El modificador /Y debe ser preestablecido en la variable de entorno COPYCMD.
Esto se puede sobrescribir con /-Y en la línea del comando.
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

RE:Respaldar Archivos

Publicado por amparitohijo (94 intervenciones) el 24/10/2008 10:22:52
Bravo, viva y hurra, Antoni. Cuando tienes razón, tienes razón. Cuanto más simple, mejor.
No se me había ocurrido utilizar xcopy, pero es totalmente cierto. No estoy familiarizado con el comando XCOPY, pero prometo estudiármelo. Tiene muchas posibilidades.

Gracias por la parte que me toca. Salu2
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

RE:Respaldar Archivos

Publicado por Cheluco (1 intervención) el 30/04/2013 15:30:23
Sres.

Me es grato saber que a pesar del tiempo todavía se puede escribir de este antiguo MSDOS, pero tengo una consulta como hago para borrar los archivos que fueron borrados del origen?

Atte.

Cheluco
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