viernes, 3 de mayo de 2019

Como Programar batch en MSDOS mover archivos de una PC a otra

Que tal amigos espero que se encuentren muy bien:

En este post, les quiero platicar acerca de un lenguaje de programación que en lo profesional me ha sacado de varios apuros, que son scripts de MS-DOS , si señores aun existe y sirve mucho jajajaja. En linux o unix tenemos batch que nos sirven para automatizar tareas en registro de archivos, limpieza de carpetas ,extraer información de bases de datos, etc., pues esto en Windows también se puede hacer y es con archivos .BAT en estos archivos podemos hacer uso de los comando de MS-DOS , que seguramente algunos ya ni conocen o recuerdan, bueno hace muchoooos años existía Windows 3.1 que era la versión gráfica de  MS-DOS que es más ni menos que el sistema operativo de Windows.

Los comando son las instrucciones con las que le hablamos al sistema operativo para que hagan ciertas tareas y nos devuelvan información.

Los comandos que más utilizo son :
  • Dir: listar los archivos y directorios de una carpeta
  • Move: mover un archivo de una carpeta a otra
  • Copy: copiar  un archivo de una carpeta a otra
  • Date: mostrar la fecha 
  • Time: mostrar la Hora
  • CD: moverse a un directorio
  • MKDIR: crear un directorio
Si quieren seguir aprendiendo comandos, les comparto la liga de un curso de la UNAM http://www.facmed.unam.mx/emc/computo/infomedic/presentac/modulos/modulo1/dos/framedos.htm

Ahora vamos hacer un ejemplo

Objetivo: crear un programa que mueva del un servidor de dedicado a un filserver, los archivos de la carpeta c:\facturas\RFC\2019\mayo a la carpeta c:\ar\2019\05 Mayo este programa debe funcionar para los próximos meses y años.

El código es
set Mth=%Date:~3,2%
echo %Mth%
set Day=%Date:~0,2%
echo %Day%
set Yr=%Date:~6,4%
:carpeta origen
set fol_org="C:\facturas\RFC\"%Yr%\%Mth%\%Day%
set ban1=0
if exist %fol_org% (set ban1=1) 
echo %fol_org%  %ban1%
:carpeta destino
set fol_des="Y:\"%Yr%\%Mth%\%Day%
echo %fol_des%
Y:
IF exist %fol_des%  ( echo %fol_des% exists) ELSE ( mkdir %fol_des% && echo %fol_des% created )
If %ban1% == 1 ( xcopy %fol_org% %fol_des% /o /x /e /h /k)
C:


Nota, la unidad Y es un mapeo de la ruta c:\ar\2019\05


Al finalizar vamos a crear una tarea programada en el servidor de origen para que se ejecute diario a las 11:59pm 



Espero les haya gustado y servido este post, gracias por compartirlo, si tienen dudas escriban sus comentarios. 

https://www.programacionparatodos.com

Entrada destacada

Como Programar en Pascal y Delphi, ejemplo calculadora en Delphi

Que tal amigos, bienvenidos a otra semana de nuestro blog, les quiero platicar acerca de un lenguaje de programación que se llama Pascal, ...