BATCH para sqlcmd

Tengo varios archivos .sql con diferentes rutinas estos están almacenados en una carpeta que llamaremos ARCHIVOS ya tengo mi sentencia para ejecutarlos uno a uno la cuestión es si es posible que el batch genere la misma linea de comandos y ejecutarse con cada uno de las rutinas almacenadas en mi carpeta sin necesidad de definirlas en el batch ya que pueden agregarseo eliminarse archivos de esta carpeta de acuerdo a lo que se necesite hacer.

Este es un ejemplo de como ya lo he hecho funcionar

SQLCMD -S NombreServidor -d Base_datos -U Usuario -P pass -i c:\Archivos\Nombre_archivo.sql (aquí es donde yo tengo varios archivos sql)


Gracias y espero pueda ayudarme.

1 respuesta

Respuesta
1

Si te he entendido bien es un ejemplo relativamente sencillo de uso del comando FOR de MSDOS

Esencialmente el esqueleto del BAT que necesitas sería:

@echo off
for /f %%a in ('dir /b c:\Archivos\*.sql') do (SQLCMD -S NombreServidor -d Base_datos -U Usuario -P pass -i c:\Archivos\%%a)

El FOR asigna a la variable interna %%a, sucesivamente, cada uno de los valores de la lista del IN (listado de los archivos con extensión SQL de la carpeta c:\Archivos) y ejecuta el comando indicado en el DO.

Pruébalo y dime si te vale así o necesitas alguna modificación sobre este esquema, o cualquier otra cosa que se te ocurra.

Suerte y saludos,

GGG

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas