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.
|