2

Я пытаюсь извлечь последнее слово запроса результатов findstr

Команда, которую я запускаю

findstr /i %1 x:\itlogs\who_when.txt | findstr /i %2

результаты, которые я получаю

12/02/2018 10:17:58     SmithS         Steve Smith                     B0K9VY1
13/02/2018 09:29:13     SmithS         Steve Smith                     B0K9VY1

Из результатов мне нужно последнее слово B0K9VY1, чтобы я мог запустить SCCM RemoteControl $computername

(это всегда будет последним словом в последней строке результатов моего запроса findstr )

1 ответ1

1

Что мне нужно из результатов, это последнее слово B0K9VY1

Попробуйте следующий пакетный файл и настройте по вкусу:

@echo off
setlocal enabledelayedexpansion
for /f "tokens=6" %%i in ('findstr /i %1 x:\itlogs\who_when.txt ^| findstr /i %2') do (
  set last_word=%%i
  SCCM RemoteControl !last_word!
  )
endlocal

Но я хочу только последнее слово последней строки, а не каждую строку!

Двигайся echo !last_word! вне цикла for следующим образом:

@echo off
setlocal enabledelayedexpansion
for /f "tokens=6" %%i in ('findstr /i %1 x:\itlogs\who_when.txt ^| findstr /i %2') do (
  set last_word=%%i
  )
SCCM RemoteControl !last_word!
endlocal

Дальнейшее чтение

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .