MS DOS Script: Obtener la fecha del sistema
Publicado por lcflores en Febrero 19th 2008
Dentro de nuestros sistemas de información es normal tener varios procesos por lotes (batch) que se ejecuten siempre a determinadas horas, un ejemplo típico son las copias de seguridad (backups). Si trabajáis en entornos Windows, es habitual programar pequeñas tareas en MS DOS Script (o CMD Script o Command Script), los famosos .bat.
Los scripts de MS DOS no tienen la potencia de los scripts de cualquier shell de UNIX, sin embargo para las tareas de mover/borrar/copiar ficheros resultan especialmente útiles por su sencillez.
Además de trabajos con ficheros se pueden hacer muchas más cosas con un script de MS DOS, pero resultan extremadamente complejas y poco potentes en comparación con otras soluciones para entornos Windows, por ejemplo el uso de WSH (Windows Script Host) o VBS (Visual Basic Script).
Una de las tareas más frecuentes que he realizado al crear un fichero/carpeta es la necesidad de incorporar la fecha de creación al nombre del fichero/carpeta. Para resolver este problema llevo años utilizando el siguiente script:
1: rem ——————————————————
2: rem Obtenemos la fecha en la variable de sistema %mifecha% en formato yyyymmdd
3: rem Obtenemos la variable %tmpfecha%, tiene espacios en blanco.
4: for /f “usebackq tokens=1,2,3 delims=/” %%i in (`date /t`) do set tmpfecha=%%k%%j%%i
5: rem Limpiamos los espacios en blanco.
6: for /f “usebackq tokens=1,2,3 delims= “ %%i in (`echo %tmpfecha%`) do set mifecha=%%i%%j%%k
7: rem ——————————————————
Primero obtenemos la fecha del sistema y le quitamos los caracteres “/”, después quitamos los caracteres en blanco que quedan. El formato de la fecha obtenida es yyyymmdd y para utilizarla sólo debemos hacer lo siguiente:
1: copy mifichero.txt “mifichero_backup_%mifecha%.txt”
Publicado en Programación | 1 Comentario »
