@echo off
chcp 65001 >nul 2>&1
setlocal enabledelayedexpansion
cls

:: 初始化最小文件变量
set "minSize="
set "minFile="

echo 正在扫描当前目录所有 .txt 文件...
echo ==============================================

:: 遍历全部txt
for %%f in (*.txt) do (
    set "curSize=%%~zf"
    set "curName=%%f"
    if not defined minSize (
        set minSize=!curSize!
        set minFile=!curName!
    ) else (
        if !curSize! lss !minSize! (
            set minSize=!curSize!
            set minFile=!curName!
        )
    )
)

if not defined minFile (
    echo 错误：当前文件夹未找到任何 .txt 文件！
    echo.
    pause
    exit /b 1
)

echo 扫描完成！
echo 最小文本文件：!minFile!
echo 文件大小：!minSize! 字节
echo ==============================================

:: ========== 全新稳定时间格式化方案 ==========
:: 统一转为 YYYYMMDD_HHMMSS
set "dt=%date%"
set "tm=%time%"
:: 替换日期分隔符
set "dt=!dt:-=!"
set "dt=!dt:/=!"
set "dt=!dt:.=!"
:: 补全时间，去掉空格、点、毫秒
set "tm=0!tm!"
set "tm=!tm: =0!"
set "tm=!tm::=!"
set "tm=!tm:.=!"
set "timeTag=!dt!_!tm:~0,6!"
set "baseName=IPTV_!timeTag!.txt"

:: 重命名冲突自动加数字
set "targetName=!baseName!"
set "serial=1"
:renameCheck
if exist "!targetName!" (
    set "targetName=IPTV_!timeTag!_!serial!.txt"
    set /a serial+=1
    goto renameCheck
)

ren "!minFile!" "!targetName!"
echo.
echo 重命名成功！
echo 新文件名：!targetName!

echo.
echo 操作完成，按任意键关闭窗口...
pause >nul
endlocal