Innanzitutto, salva la query in un file di testo sql (file di testo con estensione .sql). Assicurati di aggiungere l'istruzione USE all'inizio, che dice al server con quale database vuoi lavorare. Utilizzando l'esempio da 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
Quindi nel tuo file batch, esegui SQLCMD e gli passi il file sql (con percorso) come parametro.
Se devi autenticarti anche tu, dovrai aggiungere i parametri -U e -P al tuo comando SQLCMD.
Ecco un articolo MSDN relativo all'sqlcmd utilità con maggiori dettagli.