Board logo

标题: [文件操作] [已解决]批处理for /f命令提取后的多个数值如何筛选出最大值? [打印本页]

作者: pdp320921    时间: 2011-10-25 14:13     标题: [已解决]批处理for /f命令提取后的多个数值如何筛选出最大值?

本帖最后由 pdp320921 于 2011-10-26 20:53 编辑

问题如标题

我用for /f得出的%%i 是 多个数值,我如何可以得到想要的最大值呢?

大侠们请赐教下!
作者: 冷玉公子    时间: 2011-10-25 23:00

老兄排序的帖子有太多了,搜下就出来了。
作者: CrLf    时间: 2011-10-26 01:06

可以开启变量延迟用 if
  1. @echo off&setlocal enabledelayedexpansion
  2. set max=0
  3. for /f %%a in (test.txt) do if %%a gtr !max! set max=%%a
  4. echo 最大值为 %max%
  5. pause
复制代码
也可以不开变量延迟用 set /a
  1. @echo off
  2. (for /f %%a in (test.txt) do set /a "max+=!(max/%%a)*(%%a-max)") 2>nul
  3. echo 最大值为 %max%
  4. pause
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2