Gio*_*nni 7 windows cmd path wmic
这是获取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 "^$"除去从输出空行.