Aun estando en el año 2015, siguen existiendo situaciones en las que resulta necesario apoyarse en ficheros de comandos (CMD) de MSDOS, por ejemplo, para planificar ejecuciones de SQLCMDs utilizando el Planificador de Tareas de Windows en máquinas con SQL Express, donde no podemos recurrir al Agente de SQL Server. Situaciones poco comunes, pero que desafortunadamente continúan produciéndose (puntualmente) por motivos variopintos. En el presente artículo presentamos la Sustitución de Variables en ficheros de comandos (CMD) de MSDOS, un recurso que en estos casos nos resultará de gran utilidad.
Hay muchas situaciones en las que podemos necesitar variable de sustitución en nuestros Scripts o ficheros de comandos de MSDOS (CMD), que como administradores de Bases de Datos, nos pueden facilitar la ejecución de ficheros SQL a través de SQLCMD. Un ejemplo típico, es definir un nombre de fichero utilizando como prefijo la fecha y hora actual, que nos puede servir para dejar un histórico de ejecuciones a modo de Log.
Utilizaremos la palabra reservada SET para definir una variable y asignarle un valor. Igualmente, utilizaremos el símbolo % para indicar o delimitar nuestras sustituciones. Por ejemplo:
set fulldate=%date% Asigna la fecha actual a la variable fulldate.
set year=%date:~6,4% Asigna el año actual a la variable year, para lo cual, coge 4 caracteres a partir de la posición sexta (ojo, que la configuración regional/formato de fecha nos condiciona la posición en la que se encuentra el año).
set filename=%year%%month%%day%_logfile.log Asigna la concatenación de varias variables y una constante a la variable filename.
Estos son unos sencillos trucos que nos pueden ayudar a escribir sencillos Scripts de MSDOS, de una forma más legible y mantenible. A continuación se puede observar un ejemplo más completo:
A continuación se muestra la salida de ejecución del script anterior.Poco más por hoy. Como siempre, confío que la lectura resulte de interés.

No hay comentarios:
Publicar un comentario