什么?为了个批量处理文件名称要下载一个软件?
告诉你没必要! 一个批处理能解决的事情就没必要下载软件了,下载软件又存在不定风险
@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,将其放在需要修改目录里即可享用
需要其他修改功能,请留言!
|