求bat批处理,批量修改文件夹名,把文件夹名的后8位字符挪到最前面

2024-11-02 03:30:40
推荐回答(4个)
回答(1):

国华批量改名器
http://www.etextwizard.com/download/br/batchrenamer.zip
ACDSee是一个家喻户晓的看图软件,可能大家也知道它有一个非常著名的批量改文件名的功能,能够给我们带来很多方便,1、更改文件位数2、可以使用“ *”号3、文件夹重命名

回答(2):

自己写的漫画文件名修改器:
需要手动添参数,可以把类似"妖精的尾巴_第01卷_001.jpg"改为"1.jpg"

@echo off
color f2
title SYBN 批量重命名 v1.0

:: 调试模式请去掉下一行开头的两个冒号!
::if "%1" == "" cmd /k %0 123

echo 本程序需与需转换图片文件在同一个目录!
echo 运行前需要自定义3个变量,否则会提示“系统找不到指定文件”!
echo 请在本程序文件上点右键选择编辑,修改后保存运行!

:: ............关于cmd变量............
::cmd变量不区分变量类型无需定义,应用时自动转化,不支持小数,自动取整!
::cmd变量使用时需前后标记"%",set /a 用于计算,当且仅当计算时无需标记"%"
::cmd变量名不区分大小写不能使用保留内容,变量内容不能包含<>=^%|
::cmd文件的运行速度与cmd文件大小goto命令使用次数成反比

:: ......你需要自定义以下3个变量......
::以重命名: "妖精的尾巴_第01卷_001.jpg" 为例

:: 定义重命名文件重复的开头(不含数字前的头个字符,本例中为第二个"_")
set qian=妖精的尾巴_第01卷

:: 定义重命名文件重复的开头与数字的间隔字符(本例中为上面省略的"_")
set jiange=_

:: 定义重命名文件数位(本例中源文件数字是001三位数,所以数位为1000三个零)
set shuwei=1000

:: 定义重命名jpg格式的文件(一般不用改)
set wei=jpg

:: 定义从哪个文件开始重命名文件(一般不用改)
set b=1

echo.
echo 重命名源文件格式:%%qian%%%%jiange%%*.%%wei%%

echo 正在重命名文件,请不要终止...
echo.
ren %qian%%jiange%*.%wei% %qian%1*.%wei%
echo.
echo 重命名:%qian%%jiange%*.%wei% 开始...
echo 第一次重命名文件完成,开始第二次重命名文件...
echo.
: 1
set /a c=shuwei+b
if not exist %qian%%c%.%wei% goto over
for /l %%a in (%c%,1,%C%) do (
ren %qian%%%a.%wei% %b%.%wei%
title %%a
set /a b=b+1
goto 1
)
: over
echo 完成!
pause>nul

回答(3):

@echo off
SetLocal EnableDelayedExpansion
for /f "delims=" %%a in ('dir /ad/b *') do (
set "var=%%~na"
set "hm=!var:~-8!"
set "qm=!var:~0,-8!"
ren "%%a" "!hm!!qm!"
)
pause

回答(4):

@echo off&setlocal enabledelayedexpansion
for /d %%i in (*)do (
set all=%%i
set n1=!all:~0,-8!
set n2=!all:~-8!
ren "%%i" "!n2!!n1!"
)