我从这里获取脚本以找到编号最大的文件 - Choose Highest Numbered File - Batch File
@echo off
setlocal enabledelayedexpansion
set max=0
for %%x in (*-*.png) do (
set "FN=%%~nx"
set "FN=!FN:*-=!"
if !FN! GTR !max! set max=!FN!
)
棘手的部分是我有许多包含编号文件的文件夹:
folderA/fileA-01.png
folderA/fileA-02.png
folderA/fileA-03.png
folderA/fileA-04.png
folderB/fileB-01.png
folderB/fileB-02.png
folderB/fileB-03.png
folderB/fileB-04.png
folderB/fileB-05.png
我想将每个文件夹中每个编号最高的文件重命名为fileA-max.png和fileB-max.png - 即使用“max”而不是最高编号。
我不经常做批处理文件,当我这样做时,通常是非常基本和简单的东西,所以如果可以的话 - 请帮我解决这个问题。
答案 0 :(得分:2)
@echo off &setlocal disableDelayedExpansion
for /d %%a in (*) do (
for /f "tokens=1*delims=-:" %%b in ('dir /b /a-d /o-n "%%~a"^|findstr /n $') do if %%b==1 (
for /f "delims=-" %%d in ("%%~nc") do echo(ren "%%~a\%%~c" "%%~d-max%%~xc"
)
)