我有一个具有这种格式的文件:
<somecharacters> 1 <somecharacters>
<somecharacters> 2 <somecharacters>
<somecharacters> 4 <somecharacters>
<somecharacters> 9 <somecharacters>
我需要解析出最大的数字。我尝试使用FINDSTR
and FIND
,但对 Windows 命令行没有足够的经验......
如果您的文件中的所有行的格式都是一致的,那么这应该可以工作(我使用属性而不是内部文本)
@echo off
setlocal enableDelayedExpansion
set maxPort=0
for /f "tokens=6 delims=<./ " %%N in (test.txt) do (
if %%N gtr !maxPort! set maxPort=%%N
)
echo maxPort=%maxPort%
但是,如果您有其他看起来不同的行应该被忽略,您将需要使用 FINDSTR 过滤掉您不想解析的行。FINDSTR 命令将进入 IN() 子句。FINDSTR 对可能满足您需求的正则表达式的支持有限。