欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

用批处理批量修改文件名,简单暴力

程序员文章站 2022-06-14 16:56:10
...
批量修改文件扩展名

有时候我们会遇到,在一个文件夹内有很多个文件,需要修改这些文件的扩展名,一个一个去修改就太麻烦了,其实,我们可以用bat批处理批量修改文件扩展名,只需一句简单的命令就可以实现。

例如:你要把扩展名为.mp4的文件改成.mp3格式,那么方法如下:
1,在需要修改扩展名的文件夹内新建一个记事本
2,在记事本中输入以下内容

ren *.mp4 *.mp3

3,将这个记事本的扩展名改名为.bat
4,双击运行这个bat文件即可批量将该文件夹内的所有.mp4文件改成.mp3了

批量添加文件扩展名

先看下面代码:

ren * *.mp3

和上面的代码相似,但它运行后将所有文件改成.mp3了,有扩展名的被改成.mp3,无扩展名的被加上.mp3


下面,给出一些完整的参考代码

批量修改文件前缀名

批量修改文件名是批处理的典例之一。如下代码

chcp 65001>nul
@ echo off
cls
title 批量修改文件名
echo:
setlocal EnableDelayedExpansion 
set ext=.*
set /p ext=请输入文件的扩展名(不输入则表示所有类型)if not "%ext:~0,1%"=="." set ext=.%ext% 
echo:
set /p prefix=请输入生成的文件名前缀: 
set /a num=1
for %%i in (*%ext%) do ( 
ren "%%i" "%prefix%!num!%ext%" 
set /a num+=1 
) 
echo 按任意键继续
pause>nul


批量剔除指定字符

这个就不认什么前缀后缀了,指定字符就杀了

chcp 65001>nul
@ echo off
cls
title 批量剔除指定字符
echo:
setlocal enabledelayedexpansion
set /p str=请输入要剔除的字符串:
for %%i in ("*%str%*") do (
    set FileName=%%i
    set  FileName=!FileName:%str%=""!
    ren "%%i" "!FileName!"
)
echo 按任意键继续
pause>nul


批量剔除左边部分字符

从左边按位数来删除部分字符,其实本质上都是重命名啦

chcp 65001>nul
@ echo off
cls
title 批量剔除左边部分字符
echo:
setlocal enabledelayedexpansion
set ext=.* 
set /p ext=请输入文件的扩展名(不输入则表示所有类型)if not "%ext:~0,1%"=="." set ext=.%ext% 
echo:
set /p n=请输入左边剔除的位数:
for %%i in ("*%ext%") do (
    set FileName=%%i
    set  FileName=!FileName:~%n%!
    ren "%%i" "!FileName!"
)
echo 按任意键继续
pause>nul