为当前目录和子目录下的文件修改后缀名

用批处理文件写一段代码,可以更改当前目录和所有子目录下的后缀名。代码如下:

@echo off 

Setlocal Enabledelayedexpansion
echo 初始化 > log.txt

:: 输入后缀,例如html

set /p old=请输入被替换的后缀名:
set new=请输入新的后缀名:

:: 查找当前目录和子目录下所有为旧后缀名的文件
for /r %%i in (*.!old!) do (  

:: 取出没有路径和后缀的文件名 
    set partname=%%~ni

:: 修改当前目录和子目录下文件的后缀
    ren "%%i" "!partname!.!new!"
    echo 原文件%%i 更名为!partname!.!new!>> log.txt
    echo.>> log.txt
    )
goto eof