批量处理文件名,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,将其放在需要修改目录里即可享用
需要其他修改功能,请留言!
本帖最后由 海洋之心专用 于 2023-4-10 13:16 编辑
首先感谢大佬分享,但是大佬 我咋觉得这个工具有点多此一举。
我操作你的源码步骤是 :1.启动程序 2.输入我要改成的名字 3.输入我要修改的文件后缀
我直接全选文件后右键直接重命名不就完事了?为什么还要额外用工具呢?
详见动画
https://s2.loli.net/2023/04/10/d4m6eoEGq1uRkrT.gif 感觉你这个复杂了,直接用ren 本帖最后由 sgbyg 于 2023-4-10 11:17 编辑
一行代码就够了{:301_997:}
https://pic.imgdb.cn/item/64337f890d2dde57776bb8fd.gif 我还是感觉工具简单一点儿 这楼里学到不少办法,谢谢了{:1_893:} 直接文件夹里面CTRL+A 然后改一个文件名就都改了 感觉多此一举,不过就当做熟悉一下批处理了233 ReNamer Pro 评论区里出大神一点都没错。