卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章11201本站已运行3223

批量处理文件名,bat批处理


@echo off
chcp 65001 > nul
setlocal EnableExtensions EnableDelayedExpansion

rem 定义非法字符列表
set "illegal=^<^>^:^"^/^?*"

:input_prefix
set /p "prefix=请输入前缀名称:"

rem 检查输入的前缀名称是否包含非法字符
set "cleaned=%prefix%"
set "is_legal=true"
for %%i in (%illegal%) do (
    set "cleaned=!cleaned:%%~i=!"
    if not "!cleaned!" equ "%prefix%" set "is_legal=false"
)

if not "%is_legal%" equ "true" (
    echo 前缀名称中不能包含以下非法字符:%illegal%
    goto input_prefix
)

set /p "ext=请输入要重命名的文件后缀名(不含点号):"
set "count=0"

for /f "delims=" %%f in ('dir /a-d /b /on *.%ext%') do (
    set "filename=%%~nf"
    set /a "count+=1"

    rem 如果文件名包含空格,需要使用双引号将文件名括起来
    if "!filename!" neq "%%~nf" set "filename="!filename!""

    rem 如果文件名已经被重命名了,直接跳过
    if "!filename:~0,8!" equ "!prefix!_" (
        echo [跳过] !filename!.%ext%
    ) else (
        set "newname=!prefix!!count!.%ext%"
        echo [重命名] !filename!.%ext% -^> !newname!
        ren "%%f" "!newname!"
    )
)

echo 重命名完成!
pause
复制上面bat代码 保存在txt文本,改txt后缀为bat,将其放在需要修改目录里即可享用
卓越飞翔博客
上一篇: Python 一个简单的加解密脚本
下一篇: webos私有云 更现代感的,私有云、云盘、网盘系统
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏