0

我有一个具有这种格式的文件:

<somecharacters> 1 <somecharacters>
<somecharacters> 2 <somecharacters>
<somecharacters> 4 <somecharacters>
<somecharacters> 9 <somecharacters>

我需要解析出最大的数字。我尝试使用FINDSTRand FIND,但对 Windows 命令行没有足够的经验......

4

1 回答 1

0

如果您的文件中的所有行的格式都是一致的,那么这应该可以工作(我使用属性而不是内部文本)

@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 对可能满足您需求的正则表达式的支持有限。

于 2012-05-11T14:00:50.647 回答