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

如何在文件名后、文件扩展名前添加当前日期?

在文件名主名与扩展名之间添加日期的实现方法

核心思路

利用Bash的字符串参数展开功能,把文件名拆成主名和扩展名两部分,将日期插入两者之间;如果文件没有扩展名,直接把日期追加到文件名末尾即可。

具体实现代码

可读性高的带判断版本

# 定义日期格式,这里用%m%d%y表示两位月-日-年,可按需调整(比如%Y%m%d是四位年-月-日)
dateNow=$(date +%m%d%y)

# 处理单个文件
if [[ "$file" == *.* ]]; then
    # 有扩展名:主名+日期+.+扩展名
    mv "$file" "${file%.*}${dateNow}.${file##*.}"
else
    # 无扩展名:文件名+日期
    mv "$file" "${file}${dateNow}"
fi

适合脚本嵌入的一行简化版本

dateNow=$(date +%m%d%y); mv "$file" "${file%.*}${dateNow}${file:+.${file##*.}}"

参数展开说明

  • ${file%.*}:移除文件名中最后一个.及之后的所有字符,提取出主名(比如Testfile1.xml会得到Testfile1)
  • ${file##*.}:移除文件名中最后一个.及之前的所有字符,提取出扩展名(比如Testfile1.xml会得到xml)
  • ${file:+.${file##*.}}:仅当file包含.时,才输出.扩展名;无扩展名时输出为空,省去了if判断

示例效果

  • 原文件Testfile1.xml → 处理后Testfile1120324.xml(假设dateNow为120324)
  • 原文件ProjectReport.docx → 处理后ProjectReport120324.docx
  • 原文件README → 处理后README120324

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 07:41:24