提取文本文件最后一行最后一个单词的脚本

提取文本文件最后一行最后一个单词的脚本

我正在尝试提取 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

我需要的结果就是最后一个单词 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

进一步阅读

相关内容