You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将文件夹内所有文件按每秒递增规则重命名为HH_MM_SS格式

批量按每秒递增规则重命名文件为HH_MM_SS格式

你可以直接根据自己的操作系统选择对应脚本运行,最终重命名效果和示例一致:

00_59_57.jpg
00_59_58.jpg
00_59_59.jpg
01_00_00.jpg

脚本默认从你设置的起始时间开始,按文件排序顺序依次给每个文件分配时间,后一个文件比前一个文件时间加1秒,自动保留原文件后缀。


Windows 系统(PowerShell 方案)

  • 打开存放目标文件的文件夹,在顶部地址栏输入powershell后按回车,会直接弹出定位到当前路径的PowerShell终端
  • 修改下方脚本里的起始时间参数(示例默认从00时59分57秒开始),把脚本粘贴到终端回车即可运行
  • 默认按文件名字典序排序分配时间,如果需要按文件修改时间排序,把脚本里的Sort-Object Name替换为Sort-Object LastWriteTime即可
# 配置起始时间:小时、分钟、秒,按需修改数值
$startTime = Get-Date -Hour 0 -Minute 59 -Second 57
Get-ChildItem -File | Where-Object { $_.Name -ne $MyInvocation.MyCommand.Name } | Sort-Object Name | ForEach-Object -Begin { $currentTime = $startTime } -Process {
    $newName = $currentTime.ToString("HH_mm_ss") + $_.Extension
    Rename-Item -Path $_.FullName -NewName $newName
    $currentTime = $currentTime.AddSeconds(1)
}

macOS / Linux 系统(Bash 方案)

  • 打开终端,通过cd 你的文件夹路径命令进入目标文件所在目录
  • 修改下方脚本里的起始时、分、秒参数,粘贴到终端回车即可运行
  • 默认按文件名字典序排序分配时间,如果需要按文件修改时间排序,把脚本里的for file in *替换为for file in $(ls -1tr)即可
# 配置起始时间:小时、分钟、秒,按需修改数值
start_h=0
start_m=59
start_s=57

current_s=$((start_h*3600 + start_m*60 + start_s))
for file in *; do
    if [ -f "$file" ] && [ "$file" != "${0##*/}" ]; then
        ext="${file##*.}"
        h=$((current_s / 3600))
        m=$(((current_s % 3600) / 60))
        s=$((current_s % 60))
        new_name=$(printf "%02d_%02d_%02d.%s" $h $m $s $ext)
        mv -n "$file" "$new_name"
        current_s=$((current_s + 1))
    fi
done

注意事项

  • 运行脚本前建议先备份原文件,避免重命名规则不符合预期导致文件混乱
  • 时间累加超过23:59:59时会自动按24小时制进位,从00:00:00继续计数
  • 脚本自带重名不覆盖逻辑,不会因为文件名重复覆盖已有文件

内容的提问来源于stack exchange,提问作者Blurry bay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 14:31:15