如何使用Windows中的命令行函数仅选择txt文件中的数字

时间:2012-05-11 11:20:30

标签: windows cmd

我有一个具有以下格式的文件:

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

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

1 个答案:

答案 0 :(得分: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对可能满足您需求的正则表达式的支持有限。