Is there a way to run sqlcmd to get query output without showing the number of rows affected?

I think you might want the "SET NOCOUNT ON" option. Your SQL script will look like:

 set nocount on  
 select x, y, z from agent  
 set nocount off  

And the results set will be:

 24 aingles1         creablegs            
 25 tbails12         bull2dog12           
 26 jtaylor3         Leandon62606         
 27 forrestw1        nuke19211    

Minus the count of rows line at the end.


sqlcmd -S svr -d db ... | findstr /v "rows affected"

findstr is built into the OS and is simliar to grep. See findstr /? for more options.

To remove a column, use cut.exe tool. So you could run:

sqlcmd -S svr -d db ... | cut -c10-

This would only output from character 10 onwards, thus removing the line numbers. Adjust the number 10 accordingly. You could also try fields:

sqlcmd -S svr -d db ... | cut -f2-

This would only output fields 2 and onwards (to the right).