Choose Highest Numbered File - Batch File

后端 未结 2 690
情书的邮戳
情书的邮戳 2020-12-16 04:14

I have a directory full of .jar files, named progressively like so:

 version-1.jar
 version-2.jar
 version-3.jar

I am trying to select the

2条回答
  •  太阳男子
    2020-12-16 04:30

    We need delayed expansion

    setlocal enabledelayedexpansion
    

    Just a variable for the maximum:

    set max=0
    

    Then iterate over the files:

    for %%x in (version-*.jar) do (
    

    We need the file name without extension

      set "FN=%%~nx"
    

    And remove the version- from the start:

      set "FN=!FN:version-=!"
    

    Now FN should contain just the number and we can compare:

      if !FN! GTR !max! set max=!FN!
    )
    

    And we're done:

    echo highest version: version-%max%.jar
    

    The complete batch file:

    @echo off
    setlocal enabledelayedexpansion
    set max=0
    for %%x in (version-*.jar) do (
      set "FN=%%~nx"
      set "FN=!FN:version-=!"
      if !FN! GTR !max! set max=!FN!
    )
    echo highest version: version-%max%.jar
    

提交回复
热议问题