Batch file 使用批处理脚本在文本文件中查找最小值、最大值、排序和比较

Batch file 使用批处理脚本在文本文件中查找最小值、最大值、排序和比较,batch-file,Batch File,我有一个文本文件data.txt: 我需要一个批处理脚本来: 在文件中查找最小值、最大值,输出为: 最大值为[最大值日期]:“]之后的最大值 最小值为“:”之后的[最小值],在[最小值日期] 按值的日期对文件data.txt进行排序(将日期的月份和年份一起排序,而不仅仅是月份或年份分开) 将文件中的日期与当前日期进行比较,如果文件中的日期大于08个月以上的当前日期,则输出值在“:”之后的日期 查找月份最长的日期(每月31天),并输出值在“:”之后的日期 您可以通过for/f tokens=

我有一个文本文件
data.txt

我需要一个批处理脚本来:

  • 在文件中查找最小值、最大值,输出为:
    • 最大值为[最大值日期]:“]之后的最大值
    • 最小值为“:”之后的[最小值],在[最小值日期]
  • 按值的日期对文件data.txt进行排序(将日期的月份和年份一起排序,而不仅仅是月份或年份分开)
  • 将文件中的日期与当前日期进行比较,如果文件中的日期大于08个月以上的当前日期,则输出值在“:”之后的日期
  • 查找月份最长的日期(每月31天),并输出值在“:”之后的日期
    • 您可以通过for/f tokens=1,2获取文本中的值,并按a-z对结果进行排序,获取文本中的第一行或最后一行,例如max或min行

    要计算最小值和最大值,您可以使用以下脚本(该脚本还确定四舍五入的平均值);考虑到这只适用于有符号32位空间中的正整数;让我们称之为stats.bat:

    @echo关闭
    setlocal EnableExtensions EnableDelayedExpansion
    设置/A“IDX=0,SUM=0”
    
    set/A“MIN=(1到目前为止,您尝试了哪些代码,具体遇到了哪些问题?那些否决此答案的人,请告诉我原因!
    Jun/2015: 1028
    Oct/2017: 2048
    Jan/2010: 9654
    Aug/2006: 5702
    Feb/2018: 1984
    Oct/2012: 7749
    May/2008: 4722
    Jul/2016: 4722
    
    stats.bat "\path\to\data.txt"
    
    total amount:     8
    overall sum:      37609
    minimum value:    1028    (Jun/2015)
    maximum value:    9654    (Jan/2010)
    average value:    4701    (rounded)