En Visual Studio .Net siempre se han desarrollado aplicaciones de consola con la finalidad de poder iniciarnos y familiarizarnos con las sentencias y estructuras de la programación .Net
Me acuerdo que la primera vez que empece en la programación .Net (Visual Basic, C#, etc) empezábamos a programar aplicaciones sencillas en consola tipo ventanas de DOS. Era la manera de iniciar al principiante o alumno a poder desarrollar aplicaciones más robustas en .Net.
Siempre vi esta manera de aprender como la mejor forma de iniciarnos en este mundo de la programación, sin embargo nunca me puse a pensar detalladamente lo importante y conveniente que era desarrollar estas pequeñas aplicaciones de consola.
Luego me di cuenta que estas pequeñas aplicaciones (Proyectos) pueden ser utilizados de manera practica y sencilla para poder ser ejecutados como archivos batch (.bat), no deben de
ser programados con el propósito de solicitar ingreso de datos, su verdadera
finalidad es la de ejecutar secuencia de códigos que realicen por ejemplo un
backup. Luego esto puede ser usado conjuntamente con el Programador de tareas para que sean ejecutados automáticamente.
En esta oportunidad les mostrare una aplicación de consola que realiza una copia de seguridad (Backup) de ciertos archivos ubicados en una determinada carpeta de windows. Luego utilizaremos esta misma aplicación conjuntamente con el Programador de Tareas para ejecutarlo a cierta hora y en forma automática.
1. Crear la aplicación de consola
- Abrir el Visual Studio
- Abrir el Visual Studio
- Ir al menú Archivo, Nuevo, Proyecto…
- Seleccionar la categoría Visua C#, Aplicación de consola
- Colocar un nombre (Demo01)y seleccionamos la carpeta de destino para guardar el proyecto, Aceptar
2. Programamos
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO; //Directory, File, Path
namespace Demo01
{
class Program
{
static void Main(string[] args)
{
string directorioOrigen = @"C:\ALASDATA\GRAFICOS";
string[] archivos = Directory.GetFiles(directorioOrigen, "*.*");
string directorioDestino = @"D:\BACKUPS\";
if (!Directory.Exists(directorioDestino))
Directory.CreateDirectory(directorioDestino);
string nombreArchivo;
string archivoDestino;
foreach (string archivo in archivos)
{
nombreArchivo = Path.GetFileName(archivo);
//archivoDestino = directorioDestino + nombreArchivo; //Mala practica
archivoDestino = String.Format("{0}{1}", directorioDestino, nombreArchivo); //Es buena Practica
if (File.Exists(archivoDestino))
File.Delete(archivoDestino);
File.Copy(archivo, archivoDestino);
Console.WriteLine(archivoDestino);
}
System.Threading.Thread.Sleep(5000); // 5 segundos
//Console.Read();
}
}
}
Ojo: Después de terminar nuestra aplicación, esta debe de ser compilada para poder crear el ejecutable.
3. Abrimos el Programador de tareas
- Pulsamos las teclas [WIN]+[R] para visualizar la ventana ejecutar
- Digitamos Taskschd.msc y pulsamos aceptar para abrir la ventana del programador de tareas.
- Clic en Crear tarea básica y realizar según las imágenes siguientes
- Clic en siguiente, seleccionar en la pantalla siguiente la opción Diariamente, Siguiente
- Luego coloque la fecha y hora que desea que se ejecute el programa, siguiente
- En la siguiente ventana a la pregunta ¿Qué acción desea que realice la tarea? escoja Iniciar un programa, siguiente.
- La última ventana le pedirá que seleccione el programa, este se encuentra ubicado en la carpeta de su proyecto Demo01\Bin\Debug\Demo01.exe, siguiente y finalizar.
Debe tener en cuenta que una vez realizado la aplicación en consola este debe de ser compilada para que se cree el ejecutable dentro de la carpeta bin\debug del proyecto. Además las carpeta física de sus archivos (de Origen) debe de existir en su disco duro. La ruta de las carpetas pueden ser cambiadas a criterio de cada uno.
La aplicación en ejecución se vería algo así:
![]() |
Aplicación de consola (Backups) |
TIP:
@ Este carácter puede ser usado delante
de una cadena que esté formado por algún carácter especial como el “\”, con la
finalidad de que la aplicación no de error al reconocer al “\” como carácter
especial, con eso evitamos adicionar una barra más por cada carácter "\" que tengamos en nuestro código.