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 o Batch 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
Ahora vamos hacer un ejemplo de un archivo Batch
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
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
Otra publicación de un batch
Comentarios
Publicar un comentario