Windows批处理之修改文件名

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/txl16211/article/details/79266785
 
 

用途

可以将任意的文件名批量修改有规律的文件名,如下:

rename by keith.gif

使用方法

新建一个文本文件(.txt),将下面代码复制进去,保存,最后将文件后缀改成.bat,放到想要批量操作的文件所在的文件夹,直接双击就好.

实现代码

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
COLOR 0A
TITLE keith batch rename tool
ECHO.
ECHO =================================
ECHO     欢迎使用keith批量命名工具
ECHO =================================
ECHO.
ECHO 请选择要批量修改的处理的后缀名:
ECHO.
ECHO 1. 所有文件(只会修改文件名)
ECHO 2. txt
ECHO 3. png
ECHO 4. 其他,我自己来输入
ECHO.
CHOICE /C 1234 /m "你的选择是: "
IF %ERRORlEVEL% equ 1 SET suffix=*
IF %ERRORlEVEL% equ 2 SET suffix=txt
IF %ERRORlEVEL% equ 3 SET suffix=png
IF %ERRORlEVEL% equ 4 (
ECHO.
SET /P suffix="请输入要批量处理的后缀名: "
)
ECHO.
SET /p prefix="请输入你修改成的文件名的开头: "
ECHO.
ECHO 修改ing...
ECHO.
SET /a index=0
FOR %%i in (*.!suffix!) do (
    SET /a index=!index!+1
    SET name=!prefix!!index!.!suffix!
    REN "%%i" !name!
)
IF %ERRORlEVEL% equ 0 (
    ECHO 修改成功!
) ELSE (
    ECHO 修改失败!
)
ECHO.
PAUSE

最后

刚刚看了看windows batch script的知识,这个工具还是很简单,但也还是可以解决一点小问题,如果你们有什么需求想要批量处理的,可以在下面留言,我可以尽量去写,当作训练.

Reference

  1. Windows Batch Scripting

批量替换文件名中的字符

@echo off
set /p str1= 请输入要替换的文件(文件夹)名字符串(可替换空格):
set /p str2= 请输入替换后的文件(文件夹)名字符串(去除则直接回车):
echo.
echo 正在修改文件(夹)名中,请稍候……
for /f "delims=" %%a in ('dir /s /b ^|sort /+65535') do (
                        if "%%~nxa" neq "%~nx0" (
                             set "file=%%a"
                             set "name=%%~na"
                             set "extension=%%~xa"
                             call set "name=%%name:%str1%=%str2%%%"
                             setlocal enabledelayedexpansion
                             ren "!file!" "!name!!extension!" 2>nul
                             endlocal
        )
    )
exit



猜你喜欢

转载自blog.csdn.net/txl16211/article/details/79266785
今日推荐