我编写的通过批处理修改来实现简单改名、剔除字符、添加字符、替换字符、改扩展名等功能的批文件内容。
    批处理内容,自行拷贝后保存为.bat文件即可。
@echo off
::ver beat1.3[20061213]
setlocal enabledelayedexpansion
mode con lines=26
color 1f
for /f "delims=" %%i in ("%0") do set cdname=%%~dpi
:star
cls
title 批量文件改名
echo.
echo        ==============================================================
echo.
echo                            批量文件改名 测试版
echo.
echo                    欢迎使用,请选择选项(1,2,3,4,5,6,7,8)
echo.
echo                              1.简单改名
echo                              2.剔除字符
echo                              3.添加字符
echo                              4.替换字符
echo                              5.改扩展名
echo                              6.使用帮助
echo                              7.关于作者
echo                              8.退    出
echo                              9.设置路径
echo                              0.返回菜单
echo.
echo                    工作路径:%cdname%
echo.
echo                            bbs-dos
echo        ==============================================================
echo.
set no=:
set /p no=              请选择:
set "no=%no:"=%"
if "%no%"==":" goto star
if "%no%"=="1" goto 1
if "%no%"=="2" goto 2
if "%no%"=="3" goto 3
if "%no%"=="4" goto 4
if "%no%"=="5" goto 5
if "%no%"=="6" goto 6
if "%no%"=="7" goto 7
if "%no%"=="8" goto 8
if "%no%"=="9" goto 9
if "%no%"=="0" goto 0
goto star
:1
cls
title 批量文件改名-简单改名
echo.
echo        ==============================================================
echo.
echo                            批量文件改名-简单改名
echo.
echo                简单改名:一般用于多集电视剧或者多个文件批量改名。
echo                例    子:如:[YYSoR]那天 台风01.语 字.vb
echo                          结果为:01.rmvb
echo                注意事项:1。不接纳文件名中出现多个“1”的文件
echo                          2。支持拖放文件,拖放不用设置路径
echo                          3。如未设置路径,使用默认路径
echo.
echo                工作路径:%cdname%
echo.
echo              8.退    出        9.设置路径        0.返回菜单
echo.
echo.                            bbs-dos
echo        ==============================================================
echo.
set oldname=:
set /p oldname=          请输入旧的文件名(第一集):
set "oldname=%oldname:"=%"
if "%oldname%"==":" goto 1
if "%oldname%"=="8" goto 8
if "%oldname%"=="9" goto 9
if "%oldname%"=="0" goto 0
if "%oldname%"=="1" goto no
for /f "tokens=1* delims=1" %%i in ("%oldname%") do (
                                                      set name=%%~ni
                                                      set name1=%%~nj
                                                      set cdname=%%~dpi
                                                      )
if "%cdname%"=="" goto no
cd /d %cdname%
dir /s/b/a-d . |find "%oldname%" >nul|| goto no
echo %name1% |find "1" >nul && goto no
if "%name%"=="" goto no
if "%name:~-1%"=="0" set "name=%name:~0,-1%"
if "%name%"=="" goto no
if "%name:~-1%"=="0" set "name=%name:~0,-1%"
if "%name%"=="" goto no
for /f "usebackq delims=" %%i in (`dir /s/b/a-d .`) do (
    set var=%%~nxi
    set "var=!var:%name%=!"
    ren "%%i" "!var!" >nul 2>nul
rmvb)
for /f "usebackq delims=" %%i in (`dir /s/b/a-d .`) do (
    set var=%%~nxi
    set "var=!var:%name1%=!"
    ren "%%i" "!var!" >nul 2>nul
)
goto ok
:2
cls
title 批量文件改名-剔除字符
echo.
echo        ==============================================================
echo.
echo                            批量文件改名-剔除字符
echo.
echo                剔除字符:一般用于多个文件批量剔除指定字符串改名。
echo                例    子:如:[YYSoR]那天 台风01.语 字.vb
echo                          替换:vb
echo                          结果:[YYSoR]那天 台风01.语 字.d-.rm
echo                注意事项:1。字符串区分大小写,支持替换空格
echo                          2。剔除范围包括文件扩展名
echo                          3。不支持特殊字符/\:*"?|<>   
echo.
echo                工作路径:%cdname%                         
echo.
echo              8.退    出        9.设置路径        0.返回菜单
echo.
echo.                            bbs-dos
echo        ==============================================================
echo.
set oldname=:
set /p oldname=          请输入要剔除的字符串(区分大小写):
set "oldname=%oldname:"=%"
if "%oldname%"==":" goto 2
if "%oldname%"=="8" goto 8
if "%oldname%"=="9" goto 9
if "%oldname%"=="0" goto 0
dir /s/b/a-d . |find "%oldname%" >nul|| goto no
for /f "usebackq delims=" %%i in (`dir /s/b/a-d .`) do (
    set var=%%~nxi