Ms-Dos - Comparacion de fecha del sistema

 
Vista:

Comparacion de fecha del sistema

Publicado por Fernando Gomez (2 intervenciones) el 17/09/2012 17:58:29
Buenos dias:

Necesito saber si la fecha del sistema corresponde a la que necesito para poder hacer una coia de seguridad de algunas carpetas, el problema es que no se como comparar la fecha del sistema con una variable para que atraves de un if haga la comparacion, ya intente varias maneras y no hace nada, muchas gracias por su ayuda.
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 A.H.H

Comparacion de fecha del sistema

Publicado por A.H.H (216 intervenciones) el 17/09/2012 22:58:20
Hola no detallas mucho de lo que pretendes pero te pongo ejemplos para compatar fechas del sistema con las de archivos:

Con esto dentro de un archivo.bat--> echo Fecha Archivo: %~t1
si le arrastramos o echamos encima un archivo cualquiera , nos dira la fecha y hora de creacion.
Como No queremos la hora para comparar la quitamos con esto-->
set fcomparar=%~t1
set fcomparar=%fcomparar:~0,10%
Ahora tendremos en la variable fcomparar una fecha como la del sistema--> dd/mm/yyyy

Sabiendo esto se puede hacer el .archivo.bat de ejemplo para tirarle archivos cualquiera encima o llamarlo desde la linea de comando --> archivo.bat seguido de espacio y archivo que quieres comparar.

1
2
3
4
5
6
7
8
9
@echo off
set fcomparar=%~t1
echo la fecha del sistema es: %date%
set fcomparar=%~t1
set fcomparar=%fcomparar:~0,10%
echo la fecha que quiero comparar es %fcomparar%
if %fcomparar% EQU %date% echo LAS FECHAS COINCIDEN!!
IF %fcomparar% NEQ %date% echo LAS FECHAS NO COINCIDEN!!
pause


Otro ejemplo de archivo.bat para comparar fechas introducidas seria este:


1
2
3
4
5
6
7
@echo off
set /p fcomparar=Introduce fecha a comparar DD/MM/YYYY:
 echo la fecha del sistema es: %date%
echo la fecha que quiero comparar es %fcomparar%
if %fcomparar% EQU %date% echo LAS FECHAS COINCIDEN!!
IF %fcomparar% NEQ %date% echo LAS FECHAS NO COINCIDEN!!
pause



Tambien lo podrias incorporar en un FOR para comparar las fechas de los archivos de un directorio..........
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

Comparacion de fecha del sistema

Publicado por Fernando Gomez (2 intervenciones) el 18/09/2012 17:32:26
Buenos dias de nuevo:

De antemano muchas gracias por tu respuesta pero que crees que me martca un error y de ahi no pasa me dice :"No se esperaba 10 en este momento2 y ahi se queda.

Y tienes razon no comente mucho de para que lo quiero, basicamente es para que al terminar la semana se haga un respaldo de algunas carpetas que necesito respaldar, por eso necesito comparar la fecha del sistema con la que estoy programando para el respaldo, la fecha debe ser igual o mayor a la que le indico para que haga el respaldo, asi si no lo hago el viernes, el sabado a ser una fecha mayor se debera de realizar el respaldo de las carpetas, de nuevo muchas gracias por tu ayuda.
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 A.H.H

Comparacion de fecha del sistema

Publicado por A.H.H (216 intervenciones) el 18/09/2012 23:33:13
Hola los ejemplos anteriores son mas bien para comparar cadenas exactas y funcionan bien o por lo menos en el ordenador que las hice que tiene xp, no son para operar con fechas como quieres tu por ejemplo si es mayor etc....

no obstante hice este ejemplo con un FOR, que lo que hace es comparar la fecha de modificacion de las carpetas y archivos que hay en un directorio por ejemplo C:\Hauppauge con la fecha del sistema y copia las carpetas que coinciden a una carpeta por ejemplo C:\\respaldo

Si quieres probar el ejemplo, copia y pega en un archivo.bat el codigo tal y como lo expongo y despues cambias C:\Hauppauge por el directorio origen que quieres comprobar y C:\\respaldo
por el destino donde quieres la copia.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@ECHO OFF
for /D /R C:\Hauppauge %%x in (*) do (set rutacarpeta=%%x
set rutacorta=%%~nx
set fechacarpeta=%%~tx&call :comprobar)
pause
 
:comprobar
set fechacarpeta=%fechacarpeta:~0,10%
IF %fechacarpeta% EQU %date% (
echo "%rutacarpeta%" SI COINCIDE
xcopy "%rutacarpeta%" "C:\respaldo\%rutacorta%" /E /I /Y
) ELSE (
echo "%rutacarpeta%" NO COINCIDE
)
 
goto:eof




Como te dije antes solo compara cadena exactas por eso al poner %date% nos da la fecha del sistema en dd/mm/yyyy , y en :comprobar limpiamos la hora de la fecha como te explice.


SI NO TE VALE NADA DE LO ANTERIOR EN EL SIGUIENTE ENLACE HAY UN HILO DE COMPARAR FECHAS ECHALE UN VISTAZO.

http://www.lawebdelprogramador.com/foros/Ms-Dos/1151934-Convertir_fecha_a_Juliana_para_comparar_fechas.html


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

Comparacion de fecha del sistema

Publicado por Jorge Arturo (1 intervención) el 23/12/2013 05:04:19
Buen dia colega, lei tu post y tiene mucho que ver con lo que estoy buscando, lo que quiero es crear un login que me muestre la fecha del sistema y que me diga depende del horario " Buenos dias" o "Buenas noches", el problema es que no se como comparar el comando %time% y decirle al ordenador que si la hora del sistema es mayor a 6 pm me muestre " Buenas noches" y si no " Buenos dias", cualquier ayuda te lo agradecería mucho. 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

Comparar archivos y exportar el archivo diferente

Publicado por hernan (1 intervención) el 10/09/2014 01:23:38
Buen Dia


Colega entre sus scrip tendrias lo siguiente

He creado un scrip que me hace backup de bases de datos el tema es que me deja los backup en una ruta especifica con nombre de la base y la fecha lo que necesito es que al exportarlos a un disco externo no me pasa los backup con fechas anteriores si no que compare los backup de la carpeta inicial con los que tengo en la carpeta externa y solo copie los que no esten en la carpeta externa gracias.
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