Jak mogę usunąć puste linie z wyjścia wmic?
To jest mój ciąg znaków, aby uzyskać pozycję wykonywalnej usługi TeamViewer (dowolnej wersji):
for /f "skip=1 delims=" %A in ('wmic path win32_service where "name like 'TeamViewer%'" get pathname') do set POSITION=%A
Problem jest spowodowany przezwmic
ponieważ zawiera pustą linię na końcu wyniku (w poleceniu Windows 7) i jest to wyjście:
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.
Jak mogę uzyskać tylko drugą linię wyjścia z poprawną pozycją pliku wykonywalnego? (lub oczywiście pomiń najnowszą linię).
Z góry dziękuję i życzę miłego dnia. Giovanni.
To jest 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%