更改默认屏幕快照文件名


15

有没有办法将默认屏幕快照文件名前缀(Cmd-Shift-4类型屏幕快照)更改为默认以外的名称?默认名称如下所示:

Screen Shot 2011-08-30 at 10.01.36 AM.png

但我更喜欢使用类似:

screenshot_2011-08-30_100136.png

基本上,这样我就可以删除空格和垃圾,因为在Terminal中浏览挖掘文件很烦人。有任何简单的方法可以使用defaults write com.apple.screencapture样式命令之一更改此前缀吗?


2
我们是否有机会让您选择对您有用的答案?(或编辑以更好地了解您的要求?)
bmike

Answers:


11

您可以使用以下命令将“屏幕截图”更改为“屏幕截图”

defaults write com.apple.screencapture name screenshot
killall SystemUIServer

如果您想深入研究Terminal,可以执行以下操作来实现所需的目标:

注意:备份所有更改的文件,以防万一您出错。

  1. cd /System/Library/CoreServices/SystemUIServer.app/Contents/Resources/English.lproj
  2. 复制现有文件:
    sudo cp ScreenCapture.strings ScreenCapture.strings.old
  3. 如果出现提示,请输入管理员密码
  4. 转换为可编辑的格式:
    sudo plutil -convert xml1 ScreenCapture.strings
  5. sudo vi ScreenCapture.strings

    找到以下几行:

    <key>%@ %@ at %@</key>  
    <string>%@ %@ at %@</string>  
    

    并替换为以下几行:

    <key>%@ %@ at %@</key>  
    <string>%@_%@_%@</string>  
    
  6. 转换回二进制:
    sudo plutil -convert binary1 ScreenCapture.strings
  7. killall SystemUIServer

结合第一个更改,应该会为您提供以下信息:

screenshot_2011-08-30_10.01.36.png 这非常接近您的需求


3
在OS X El Capitan中,这似乎不起作用,可能是由于系统完整性保护所致。
罗顿·罗斯伯勒

7

我用另一种方式解决了这个问题。使用Automator,我设置了一个Folder Action来监视我的屏幕快照文件夹,并按照我想要的方式重命名任何新文件。

这里有一个不错的指南其中包含类似的方法和说明。


Automator方法的延迟是多少?保存原始屏幕截图和使用新文件名提供文件之间的时间有多长?是1秒,3秒,12秒吗?
Cheeso

从截图开始需要5到7秒钟,直到文件名被更改为止(在我的MacBook Pro上是2009年)。
阿德里安B

谢谢!鉴于此,我将编写一些bash代码来执行此操作。
Cheeso

4

我已禁用默认快捷方式,并为此命令分配了快捷方式

screencapture -i ~/Desktop/$(date +%Y%m%d%H%M%S).png

-i(交互式)类似于⇧⌘4或⌃⇧⌘4。


这似乎是解决该问题的最直接方法。但是,如何将快捷方式映射到命令?在“系统偏好设置”对话框中,显示“输入要添加的菜单命令的确切名称”。您的命令不是菜单命令,所以...?
Cheeso

1
@Cheeso请参阅答案中的链接。您可以使用FastScripts或Alfred之类的应用程序,也可以通过Automator创建服务。
Lri

3

打开终端并输入:

$ sudo su

$ cd /System/Library/CoreServices/SystemUIServer.app/Contents/Resources/English.lproj

$ plutil -convert xml1 ScreenCapture.strings

$ nano ScreenCapture.strings

更改

<key>%@ %@ at %@</key>
    <string>%@ %@ at %@</string>
<key>.</key>
    <string>.</string>
<key>Screen Shot</key>
    <string>Screen Shot</string>

<key>%@ %@ at %@</key>
    <string>%@_%@_%@</string>
<key>.</key>
    <string></string>
<key>Screen Shot</key>
    <string>screenshot</string>

然后

Control+ O写入文件,Control+ X退出nano

$ plutil -convert binary1 ScreenCapture.strings

$ killall SystemUIServer

这里要注意的另一件事是,要摆脱AM / PM,您需要在“系统偏好设置”>“语言和文本”>“格式”(24小时格式)中进行更改。根据设置的时间显示时间戳。请记住,如果更改此设置,则所有文件名都将使用此格式。

〜让我知道结果如何。


3

上面显示的复杂终端操作的相同效果可以通过“自由机密”偏好设置面板实现,该面板充当Mac OS及其应用程序中各种隐藏设置的界面。只需打开首选面板,然后找到您要更改的设置


1

我喜欢Adrian B的回答。这是我写的重命名屏幕截图文件的shell脚本:https : //gist.github.com/DinoChiesa/7796444

要将其设置为“文件夹操作”,请遵循本文

转到“自动器”窗口时,请遵循以下指南:

在此处输入图片说明

不要忘记保存它(Command-S)。

根据我的经验,在我捕获屏幕后,该文件夹操作需要“启动” 3-6秒。


1

只需使用2条命令:

d̶e̶f̶a̶u̶l̶t̶s̶ ̶w̶r̶i̶t̶e̶ ̶c̶o̶m̶.̶a̶p̶p̶l̶e̶.̶s̶c̶r̶e̶e̶n̶c̶a̶p̶t̶u̶r̶e̶ ̶n̶a̶m̶e̶ ̶"̶s̶c̶r̶e̶e̶n̶s̶h̶o̶t̶_̶$̶(̶d̶a̶t̶e̶ ̶+̶%̶Y̶_̶%̶m̶_̶%̶d̶-̶%̶H̶_̶%̶M̶_̶%̶S̶)̶"̶ ̶
d̶e̶f̶a̶u̶l̶t̶s̶ ̶w̶r̶i̶t̶e̶ ̶c̶o̶m̶.̶a̶p̶p̶l̶e̶.̶s̶c̶r̶e̶e̶n̶c̶a̶p̶t̶u̶r̶e̶ ̶"̶i̶n̶c̶l̶u̶d̶e̶-̶d̶a̶t̶e̶"̶ ̶0̶

您还可以更改默认屏幕截图位置(在我的情况下,这是iCloud中的文件夹)

defaults write com.apple.screencapture location "~/Library/Mobile\ Documents/com\~apple\~CloudDocs/screenshots"

谢谢你很好
TinhNQ

这是第一次成功,但随后的所有屏幕截图都只是重复了名字,并在末尾附加了递增的数字。
Brett VanderVeen

@BrettVanderVeen是的,您是对的,这不是解决方案
Pavlo Zamoroka

0

IMO,您绝对不应该混用/ System /中的任何内容。

一方面,您只是想让您的自定义内容被以后的更新覆盖。

http://www.kerlmax.com/products/sharpshooter/下载Sharpshooter的演示

您可以使用30天。然后以15美元的价格购买。这是一个很棒的工具。

或者,您尝试过Skitch吗?它是完全免费的,并且比内置的要好得多。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.