BAT批量对文件(夹)进行重命名

亲测有效!

  1. 新建记事本文件.txt;
  2. 复制以下全部代码,保存文件;
  3. 将文件名改为“批量重命名-替换文件或者文件夹的字符串.bat”;
  4. 把此文件拷贝到需要重命名的文件夹下(建议先备份原始文件,防止误操作造成丢失);
  5. 双击运行,根据提示输入相应的名字;
  6. 完成!
@echo off
:menu
set yn=Q
cls
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo.
echo 当前目录: %~dp0
echo.
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo.
echo 【R】文件名字符替换
echo 【X】文件名字符截取后添加
echo 【Q】退出
echo.
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

set /P yn=请选择:
if /i %yn%==R goto goRen
if /i %yn%==X goto goAdd
if /i %yn%==Q goto goEnd
exit
:goRen
echo 如匹配 [H][01].sc.[pop].tv 输入格式: [?][??].sc.[*].tv
echo 如匹配 [H][01].sc.[pop].tv 输入格式: [H][??].sc.[pop].tv
echo ? 代表匹配单个字符 * 代表匹配多个字符
set /p n=匹配格式:
set /p o=需要替换的字符:
set /p t=把%o%替换为:
setlocal enabledelayedexpansion 
for %%i in ("%n%") do (
    set old=%%i
    set "new=!old:%o%=%t%!"
    echo !old! ^> !new!
)
endlocal

set /p yn=确认 y:
if /i not %yn%==y goto menu

setlocal enabledelayedexpansion 
for %%i in ("%n%") do (
    set old=%%i
    set "new=!old:%o%=%t%!"
    ren "!old!" "!new!"
)
endlocal

goto menu

:goAdd
echo 输入文件名匹配格式 如查找 [H][01].sc.[p o p].tv 输入 [?][??].sc.[*].tv
set /p n=匹配格式:
set /p x=从文件名开始处截取的数量:
set /p a=截取之后添加的字符:
setlocal enabledelayedexpansion 
for %%i in ("%n%") do (
    set old=%%i
    set "new=!old:~0,%x%!%a%"
    echo !old! ^> !new!
)
endlocal

set /p yn=确认 y:
if /i not %yn%==y goto menu

setlocal enabledelayedexpansion 
for %%i in ("%n%") do (
    set old=%%i
    set "new=!old:~0,%x%!%a%"
   ren "!old!" "!new!"
)
endlocal

goto menu

:goEnd
exit

转自 [mycoloraa]
文章地址:https://blog.csdn.net/mycoloraa/article/details/102694269

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值