Ms-Dos - MSDOS FECHA DIA ANTERIOR

 
Vista:

MSDOS FECHA DIA ANTERIOR

Publicado por veronica (4 intervenciones) el 20/03/2012 23:32:29
Hola me pueden ayudar en lo siguiente:

Deseo crear un bat que copie diario los archivos que se generaron el dia de anterior al dia de ejecucion del proceso.

El archivo que deseo copiar se llama archivo120319.txt lo necesito copiar del origen c:\archivo120319.txt a d:\archivo120319.txt pero la caracteristica es que lo voy a ejecutar hoy 20 de marzo.

Estoy atorado en como restarle un dia a la fecha actual del sistema.

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

MSDOS FECHA DIA ANTERIOR

Publicado por Antoni Masana (811 intervenciones) el 21/03/2012 08:29:16
Se me ocurre una solución.

Esta solución toma otro enfoque del problema, es decir visto desde otro angulo.

Supongo que que cada día se crea un fichero con el nombre: archivo{aammdd}.txt

Por lo que se podria hacer esto

1
2
3
4
5
6
7
ECHO OFF
C:
CD \
DIR archivo*.txt /B /ON >FILE.TMP
FOR /f %%a IN (FILE.TMP) DO SET Fich=%%a
COPY C:\%Fich% D:\%Fich%
DEL FILE.TMP


El DIR crea una lista con los nombres de ficheros ordenados por nombre
El FOR toma el ultimo de la lista y lo copia.


Despues de escribir esto me doy cuenta de que esto funciona siempre y cuando no tengas creado el fichero de hoy.

Necesitaria más datos para encontrar una solución.

Por ejemplo respuestas a:

¿Por que se debe hacer al día siguiente?
¿Cuando se hace?
¿Quien lo hace?
¿Implica participación humana?
¿Se podria hacer automatico, por ejemplo al arrancar el ordenador?
¿Cuando se crea el fichero?
¿Quien crea el fichero?
¿Como se crea el fichero?

Otra opción es el XCOPY

1
XCOPY C:\archivo*.txt D:\ /M


Esto solo copia los archivos modificados o creados pero tiene la siguiente pega:

Caso - 1

- Día 19 - Creas el fichero 19

- Día 20 - Ejecutas el XCOPY y copia el dia 19
- Día 20 - Creas el fichero 20

- Día 21 - Ejecutas el XCOPY y copia el dia 20
- Día 21 - Creas el fichero 21

Caso - 2

- Día 19 - Creas el fichero 19

- Día 20 - Creas el fichero 20
- Día 20 - Ejecutas el XCOPY y copia el dia 19 y el 20

- Día 21 - Ejecutas el XCOPY y no copia
- Día 21 - Creas el fichero 21


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

MSDOS FECHA DIA ANTERIOR

Publicado por veronica (4 intervenciones) el 21/03/2012 18:57:53
Gracias por sus respuestas respondo:

¿Por que se debe hacer al día siguiente?

Debido a que el archivo lo deja otra area pero sus procesos corren a partir de las 3 am.

Es decir el archivo del dia de hoy 21 de marzo lo generan a las 3 am es decir ya seria 22 de marzo.

¿Cuando se hace?

En la madrugada del dia siguiente

¿Quien lo hace?

Tareas programadas de otra area

¿Implica participación humana?

No implica participacion humana

¿Se podria hacer automatico, por ejemplo al arrancar el ordenador?

Se hace automatico pero las reglas del area que me deja el archivo es sus procesos corrren a las 3 am

¿Cuando se crea el fichero?

A partir de las 3 am es decir al dia siguiente.

¿Quien crea el fichero?

Tareas programadas

¿Como se crea el fichero?

A traves de un bat.

Ok el caso 2 no deberia suceder.

Perdon sino fui claro pero doy mas detalles.

El detalle que tengo es el siguiente:

De lunes a viernes una area de mi trabajo a las 3 am corre sus scripts de manera automatica y me deja el archivo que se genero en el dia es decir hoy es 21 de marzo pues el archivo con nombre archivo120321 me lo deja a las 3 am que ya seria 22 de marzo.

Lo que necesito es que una vez que exista el archivo yo debo tomarlo y copiarlo a otro recurso.

Yo lo que hice fue que mi bat tomara la fecha del sistema y concatenaba el nombre del archivo mas la fecha del sistema. pero el problema fue que cuando existe el archivo 22 de marzo yo necesito leer la fecha del sistema rerstarle un dia para tomar el archivo anterior.

He visto sus respuestas y ya me dieron varias ideas les agradezco mucho su tiempo.
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

MSDOS FECHA DIA ANTERIOR

Publicado por Daniel JS (1 intervención) el 04/05/2012 22:36:15
Hola Vero...
Te recomiendo utilizar los siguientes (y relativamente nuevos) comandos de Microsoft :

FORFILES ( http://technet.microsoft.com/es-es/library/cc753551%28v=ws.10%29.aspx )
o
ROBOCOPY ( http://technet.microsoft.com/es-es/library/cc733145%28v=ws.10%29.aspx )

Para mi necesidad laboral utilice el ROBOCOPY para mover ciertos archivos que tengan mas de 33 días de antigüedad (( /minage:33 ))...

@echo off
echo.
echo *** MOVIENDO ARCHIVOS BANCO 007
echo.
echo SOLPRO \ ERROR
robocopy \\srvl208\multi\o007\solpro\error \\srvl208\multi\o007\0-backup-operaciones\error /mov /minage:33 >nul
echo SOLPRO \ INTERFAZ
robocopy \\srvl208\multi\o007\solpro\interfaz \\srvl208\multi\o007\0-backup-operaciones\interfaz /mov /minage:33 >nul
echo SOLPRO \ PROCESSED
robocopy \\srvl208\multi\o007\solpro\processed \\srvl208\multi\o007\0-backup-operaciones\processed /mov /minage:33 >nul
echo SOLPRO \ RESULT
robocopy \\srvl208\multi\o007\solpro\result \\srvl208\multi\o007\0-backup-operaciones\result /mov /minage:33 >nul

Espero que sea de utilidad, Saludos y suerte
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