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