Is it possible to get ONLY the Drive Label using WMIC?
You have two problems. Techie007 identified the first one - You must prefix your DO command with @
if you want to prevent the command from being echoed to the screen. This is not necessary if ECHO is OFF.
The other problem is a very annoying artifact of how FOR /F interacts with the unicode output of WMIC. Somehow the unicode is improperly converted into ANSI such that each line ends with \r\r\n. FOR /F breaks at each \n, and only strips off a single terminal \r, leaving an extra unwanted \r. (Note that \r represents a carriage return character, and \n a newline character)
WMIC output includes an extra empty line at the end. The extra unwanted \r prevents FOR /F from ignoring the line (it is not seen as empty). When you ECHO the value you get ECHO is on.
There are multiple ways to handle this, but my favorite is to pass the output through an extra FOR /F to remove the unwanted \r.
for /f "skip=1 delims=" %a in ('wmic volume where "Driveletter like '%C%'" get label') do @for /f "delims=" %b in ("%a") do @echo %b
Prefix Echo
with an @
symbol to prevent showing the command.
i.e. (snipped for brevity):
for ... do @echo %a