我可以更改 Windows 10 为屏幕截图命名的方式吗?

我可以更改 Windows 10 为屏幕截图命名的方式吗?

是否可以通过注册表黑客或其他方法更改 Windows 10 命名我截取并保存的屏幕截图的方式Windows + 打印屏幕

目前我的屏幕截图C:\Users\[Username]\Pictures\Screenshots名为Screenshot.pngScreenshot (1).png等等Screenshot (2).png

我希望它们有名称yyyy-mm-dd_hh.mm.ss.png或类似名称,就像 Minecraft(是的,Minecraft :))截图一样。例如:2016-07-21_12.28.05.png

我发现这个命名方案好多了,因为它允许我删除截图而不会弄乱文件名。它还能清晰地显示截图的拍摄时间。

< 编辑 >
我尝试了 dezlov 建议的解决方案。我花了很长时间才终于让它工作起来。虽然这不是我所希望的理想解决方案,但至少它能完成工作。我现在在屏幕截图文件夹中有一个批处理文件,我可以在打开文件夹时手动运行它。不幸的是,计划任务无法在我想要的时候重命名屏幕截图(最好是在我打开屏幕截图文件夹之前)。
我尝试过让屏幕截图文件夹中的新文件充当您建议的任务的触发器,但这似乎不可能。我也不能Windows + 打印屏幕.bat 文件的快捷方式文件的快捷键。(我知道这很令人困惑,但我需要 .bat 文件的快捷方式才能分配触发该快捷方式的键盘组合。)我似乎唯一可能的选项是CTRL + ALT + [x]. 没有转变,没有打印屏幕关键,没有别的。任何关于如何制作的建议Windows + 打印屏幕运行.bat 文件?
< / 编辑 >

答案1

这个想法是设置一个批量重命名程序,使用上次修改文件的时间自动将所有屏幕截图重命名为您想要的模式。可以设置它以便按需运行,或通过计划任务定期运行。

这可以通过以下方式实现重命名器

  1. 打开 ReNamer
  2. 添加插入重命名规则具有以下配置:
    • 插入 ”:文件修改日期:“替换当前名称(跳过扩展名)
  3. 打开设置在主菜单中,元标签选项卡中,将日期格式更改为:
    • yyyy-mm-dd_hh.nn.ss.zzz
  4. 将当前规则配置保存为预设
    • 单击Ctrl+S或通过主菜单导航。

现在,您可以使用保存的预设通过命令行自动重命名文件:

"C:\Programs\ReNamer\ReNamer.exe" /rename "My Preset Name" "C:\Users\Username\Screenshots"

(需要调整精确的路径和预设名称以适合您的设置)

此命令将使用所选预设打开 ReNamer,加载指定文件夹中的所有文件,重命名所有文件,并在未发生任何问题时自动关闭。您可以创建快捷方式以根据需要执行它,也可以将其添加为计划任务定期执行。

如果您将文件加载到 ReNamer 中进行检查,它看起来是这样的:

ReNamer - 使用上次修改日期序列化文件名

答案2

我使用 Dropbox,它有一个保存到 Dropbox 的功能。当它执行该功能时,它使用时间日期命名约定。之后,我只需将文件移动到另一个文件夹即可。此外,Dropbox 保存的功能是 ctrl+prtsc,而不是 win+prtsc。

答案3

这个答案可能晚了 7 年,但以防万一有人需要......

在 Windows 11 中(尚未检查 Windows 10),有两种方法可以捕获屏幕截图:

  1. 使用 Windows 键 + prtsc - 将自动捕获屏幕截图并将其保存为“screenshot (x)”.png,其中 x 表示当天拍摄的屏幕截图数量
  2. 只需使用 prtsc 键 - 这将打开截图工具窗口,允许选择要捕获的区域、窗口或整个屏幕。文件保存为“屏幕截图日期时间.png”格式。

答案4

使用自动热键 [1]用于重命名屏幕截图的脚本。

#Requires AutoHotkey v2.0

#PrintScreen::PrintScreenFn

;--------

PrintScreenFn(*) {
; save screenshot number in variable 'serial'
serial := RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer", "ScreenshotIndex", "1")

; send Windows + Print Screen
Send "#{PrintScreen}"

; use SetTimer to wait for file creation 100ms and execute action in another thread
; pass serial as number for further action
SetTimer(() => PrintScreenExec(serial), -100)
}

;--------

PrintScreenExec(number) {

; store path of screenshot file in variable 'MyPath'
MyPath := "C:\Users\" A_UserName "\Pictures\Screenshots\Screenshot (" number ").png"

; if file does not exist, wait using Sleep and repeat check
While FileExist(MyPath) = "" {
    Sleep 500        ; wait for 500ms - modify as per system performance
    If A_Index > 6 { ; max 6 attempts, total wait 3000ms = 3s
        ; If failed ×6, open screenshot folder in explorer
        Run 'explore "C:\Users\' A_UserName '\Pictures\Screenshots\"',,"Max"
        Exit         ; give up on rename
        }
    }

; prepare to rename file
String := FormatTime(FileGetTime(MyPath, "C"), "yyyy-MM-dd @ HH:mm:ss") ; 2016-07-21 @ 13:28:05
; FileGetTime - obtain creation time as a string in YYYYMMDDHH24MISS format
; FormatTime - transform Timestamp YYYYMMDDHH24MISS into desired date/time format.
MyPathNew := "C:\Users\" A_UserName "\Pictures\Screenshots\" String ".png"

; rename
FileMove MyPath, MyPathNew

; Further actions -
; Run 'mspaint.exe "' MyPathNew '"',,"Max"                              ; open in paint
; Run 'explore "C:\Users\' A_UserName '\Pictures\Screenshots\"',,"Max"  ; open screenshot folder in explorer
}

[1]:AutoHotkey 是一款免费的开源宏创建和自动化软件实用程序。

相关内容