本帖最后由 autoav 于 2022-4-25 17:53 编辑
我自己整了一个,逻辑比较简单,当然功能也比较简单,只判断了是不是()结尾,以及最后几位是不是“-”、“_”/" ",基本可以满足我的要求
@echo off & setlocal enabledelayedexpansion
for /d %%i in (*) do (
pushd "%%i"
for %%a in (*.txt *.png *.jpg) do (
set "f=%%a"
set "k=!f:~-7,1!"
if "!k!" equ "(" set "k=!f:~0,-7!(0!f:~-6!" & ren "!f!" "!k!" & set "f=!k!"
set "k=!f:~-8,1!"
if "!k!" equ "(" set "k=!f:~0,-8!(0!f:~-7!" & ren "!f!" "!k!" & set "f=!k!"
set "k=!f:~-9,1!"
if "!k!" equ "(" set "k=!f:~0,-9!(0!f:~-8!" & ren "!f!" "!k!" & set "f=!k!"
set "k=!f:~-6,1!"
if "!k!" equ "-" set "k=!f:~0,-5!0!f:~-5!" & ren "!f!" "!k!" & set "f=!k!"
if "!k!" equ "_" set "k=!f:~0,-5!0!f:~-5!" & ren "!f!" "!k!" & set "f=!k!"
if "!k!" equ " " set "k=!f:~0,-5!0!f:~-5!" & ren "!f!" "!k!" & set "f=!k!"
set "k=!f:~-7,1!"
if "!k!" equ "-" set "k=!f:~0,-6!0!f:~-6!" & ren "!f!" "!k!" & set "f=!k!"
if "!k!" equ "_" set "k=!f:~0,-6!0!f:~-6!" & ren "!f!" "!k!" & set "f=!k!"
if "!k!" equ " " set "k=!f:~0,-6!0!f:~-6!" & ren "!f!" "!k!" & set "f=!k!"
set "k=!f:~-8,1!"
if "!k!" equ "-" set "k=!f:~0,-7!0!f:~-7!" & ren "!f!" "!k!"
if "!k!" equ "_" set "k=!f:~0,-7!0!f:~-7!" & ren "!f!" "!k!"
if "!k!" equ " " set "k=!f:~0,-7!0!f:~-7!" & ren "!f!" "!k!"
)
popd
) |