windows 11 截图自动重命名有四种方法:系统设置图形化配置(最安全)、注册表 filenametemplate 自定义(支持动态变量)、注册表双开关协同(前缀+时间戳去编号)、powershell 实时监听重命名(适配上下文)。

你在 Windows 11 中频繁使用 Win + Shift + S 或 Snipping Tool 截图,却每次都要手动重命名“Screenshot (1).png”这类无意义文件名,既难区分时间顺序,也无法按项目归类,查找历史截图时反复翻找浪费大量时间。
通过系统设置图形化配置命名模板
这是最安全、无需任何技术基础的操作路径,专为 Win + Shift + S 和“截图和草图”应用设计,改完立刻生效,且不会影响注册表。
按下 Win + I 打开 Windows 设置 → 左侧点击“系统”,右侧滚动到底部点击“剪贴板” → 在“截图”区域找到并点击“更改自动保存名称”链接。
在弹出窗口中,从下拉菜单选择一个预设格式,例如“年-月-日_时-分-秒”或“自定义文本_年月日”,这些选项已内置日期变量解析能力,无需手动输入代码。
勾选“在文件名中包含捕获区域”,启用后会自动追加“矩形”“窗口”“全屏”等后缀,方便你一眼识别截图类型。
点击“确定”,此后所有新截图将严格按此模板生成文件名,【无需重启,也不需关闭任何程序】。
通过注册表设置 FileNameTemplate 自定义组合规则
当你需要嵌入设备名、用户名、项目代号等动态信息,或要求精确到毫秒、强制小写、添加分隔符时,系统设置的预设选项就不够用了——此时必须用 FileNameTemplate 字符串值直接定义命名逻辑。
按下 Win + R 输入 regedit 回车,以当前用户权限打开注册表编辑器。
导航至路径:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Screen Capture。若该路径不存在,请逐级新建:Screen Capture 项需手动创建。
在右侧空白处右键 → 新建 → 字符串值,命名为 FileNameTemplate。
双击该字符串,在“数值数据”栏中输入完整模板,例如:ProjX_{yyyy}{MM}{dd}_{HH}{mm}_{ss}_{snipType}。注意:{snipType} 会自动转为“Rectangular”“Window”等英文标识,中文系统也保持英文输出。
支持的变量仅有六种:{yyyy} {MM} {dd} {HH} {mm} {snipType},其他如 {ss}(秒)虽常见但【系统不识别,会导致命名失败回退为默认名】。
注册表双开关协同控制:前缀 + 时间戳
方法一和方法二各自独立,但若你既要统一前缀又要彻底禁用编号、只用时间戳,就得同时配置两个注册表项——它们不是互斥关系,而是叠加生效。
方法一:设置前缀
在同一条注册表路径下,右键新建一个字符串值,命名为 FileNamePrefix,双击后输入你想要的前缀,比如“DailyLog”或“Meeting_2026Q2”。
方法二:启用时间戳覆盖编号
在同一路径下,右键新建一个 DWORD (32位) 值,命名为 UseTimestampForFilename,双击后将数值数据设为 1(十进制)。
两项都设置完成后,截图文件名将变为:DailyLog_20260531-102345.png(前缀 + 下划线 + ISO时间戳),【编号“(1)”“(2)”将完全消失,且无法恢复】。
PowerShell 脚本监听并重命名(进阶可控方案)
如果你的截图行为有强上下文依赖——比如希望文件名自动包含当前浏览器标签页标题、Excel工作簿名、或 VS Code 当前打开的文件路径——注册表静态模板无法满足,必须用实时监听方式。
第一步:创建监听脚本
新建一个 .ps1 文件,内容为:Get-ChildItem "$env:USERPROFILE\Pictures\Screenshots" -Filter "Screenshot*.png" | Where-Object {$_.LastWriteTime -gt (Get-Date).AddSeconds(-5)} | ForEach-Object { $newName = "ActiveApp_" + (Get-Process -Id (Get-ForegroundWindow).ProcessId).ProcessName + "_" + $_.LastWriteTime.ToString("yyyyMMdd-HHmmss") + ".png"; Rename-Item $_.FullName (Join-Path $_.Directory.FullName $newName) }
第二步:赋予执行权限
以管理员身份运行 PowerShell,执行:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser。
第三步:后台常驻运行
将脚本保存为 monitor-screenshot.ps1,再新建一个 monitor.bat,内容为:powershell -WindowStyle Hidden -ExecutionPolicy Bypass -File "%~dp0monitor-screenshot.ps1",然后将该 bat 添加到启动文件夹。
脚本每5秒扫描一次 Screenshots 目录,仅对最近5秒内生成的截图触发重命名,【不会误操作旧文件,也不会干扰其他程序】。











