0
我有一个文件sample.txt
,内容如下。如何使用Windows批处理脚本获取文件最后一行中的最后一个单词?
H|20170331|CIS
A||A1140|GRM //header
A||A1140|GRM
A||A1140|GRM
A||A1140|GRM
A||A1140|GRM
T|20170331|5 //trailer
我需要最后一行中的最后一个标记,即5
。 (这是除首部预告片外的行数)。
截至目前,我在下面尝试;它给出第一个标记,即T
,但我需要最后一个标记,即5
。
@echo off
rem for /f "skip=1 tokens=2,* delims=" %%a in (sample.txt) do set "variable=%%a"
rem for /f "delims=|" %%x in (sample.txt) do set "variable=%%x"
for /f "delims=|" %%G in (sample.txt) do set "variable=%%G"
echo %variable%
pause
请注意,该文件可以包含数千条记录,因此需要最后一个标记。
有最后一行3个标记_always_?如果是这样,解决方案很简单:'for/f“令牌= 3 delims = |” %% G in(sample.txt)do set“variable = %% G”' – Aacini
您需要对文件内容更加具体,最后一行确实有尾随'//预告',因为我会假设if那是真的'// header'会在第一行开始,从'H |'开始,而不是第二行。拖车路线上的字段/标记还有空格吗?如果是的话,那些字段是双引号的? – Compo