如何从wmic输出中删除空行?

这是我的string来获取TeamViewer(任何版本)服务可执行文件的位置:

for /f "skip=1 delims=" %A in ('wmic path win32_service where "name like 'TeamViewer%'" get pathname') do set POSITION=%A 

这个问题是由wmic引起的,因为它在结果(Windows 7命令)结尾处包含一个空行,这是输出:

 C:\Users\giovanni>for /f "skip=1 delims=" %A in ('wmic path win32_service where "name like 'TeamViewer% '" get pathname') do set POSITION=%A :\Users\giovanni>set POSITION="C:\Program Files\TeamViewer\Version8\TeamViewer_Service.exe" :\Users\giovanni>set POSITION= C:\Users\giovanni>echo %position% ECHO enabled. 

我如何才能得到只有可执行文件的正确位置输出的第二行? (当然也可以跳过最后一行)。

感谢所有提前,并有一个愉快的一天。 乔瓦尼。

这是checktv.bat:

 for /f "skip=1 delims=" %%A in ('wmic path win32_service where "name like 'TeamViewer%'" get pathname ^| findstr /r /v "^$"') do set POSITION=%%A echo %POSITION% 

喜欢这个:

 for /f "skip=1 delims=" %A in ( 'wmic path win32_service where "name like 'TeamViewer%'" get pathname ^| findstr /r /v "^$"' ) do set POSITION=%A 

findstr /r /v "^$"从输出中删除空行。

wmic blah / value | 找到“=”>>任何地方

输出将是

字段=值

没有额外的线路

从那里标记,delim =