我有一个列表,我需要从这个列表中获取最后一个元素。
1 2 3 4 5 6 7 8 9 ...............35
我正在使用for循环迭代,即使用以下内容:
FOR /F "tokens=1* delims=" %%A
现在在for循环中,令牌最多限制为31.如何在Windows批处理脚本文件中解决这个问题?
答案 0 :(得分:0)
call :lasttoken 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
echo %last_token%
goto :eof
:lasttoken
if not "%2" == "" shift && goto :lasttoken
set last_token=%1
goto :eof
答案 1 :(得分:0)
@echo off
setlocal
set "mylist=1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20"
set "mylist=%mylist% 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40"
:: so far we've only set up the program and established the list.
for %%a in (%mylist%) do set "value=%%a"
echo last value in %mylist% is %value%
......但现在我看到一位死灵法师一直在工作。仍然,工作完成后我也可以发布它。
在这种有点人为的情况下工作。根据实际情况,可能是更好的方法。
答案 2 :(得分:0)
这应该是最后一个令牌,适用于批次失败的极长行。
type "file.txt" | repl ".* (.*)" "$1" >"newfile.txt"
这使用名为repl.bat
的助手批处理文件(由dbenham提供) - 从以下网址下载:https://www.dropbox.com/s/qidqwztmetbvklt/repl.bat
将repl.bat
放在与批处理文件相同的文件夹中或放在路径上的文件夹中。