Primero, guarde su consulta en un archivo de texto sql (archivo de texto con extensión .sql). Asegúrese de agregar la instrucción USE al principio, que le dice al servidor con qué base de datos desea trabajar. Usando el ejemplo de MSDN:
USE AdventureWorks2008R2;
GO
SELECT p.FirstName + ' ' + p.LastName AS 'Employee Name',
a.AddressLine1, a.AddressLine2 , a.City, a.PostalCode
FROM Person.Person AS p
INNER JOIN HumanResources.Employee AS e
ON p.BusinessEntityID = e.BusinessEntityID
INNER JOIN Person.BusinessEntityAddress bea
ON bea.BusinessEntityID = e.BusinessEntityID
INNER JOIN Person.Address AS a
ON a.AddressID = bea.AddressID;
GO
Luego, en su archivo por lotes, ejecuta SQLCMD y le pasa el archivo sql (con la ruta) como parámetro.
Si también necesita autenticarse, deberá agregar los parámetros -U y -P a su comando SQLCMD.
Aquí hay un artículo de MSDN que trata sobre la utilidad sqlcmd con más detalles.