批处理内容,自行拷贝后保存为.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
发布评论