Alterando o nome do arquivo da captura de tela padrão


15

Existe uma maneira de alterar o prefixo do nome do arquivo da captura de tela padrão (a Cmd-Shift-4captura de tela do tipo) para algo diferente do padrão? O nome padrão é assim:

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

Mas eu prefiro usar algo como:

screenshot_2011-08-30_100136.png

Basicamente, para que eu possa remover os espaços e o lixo, pois é irritante procurar nos arquivos do Terminal. Alguma maneira fácil de alterar esse prefixo com um dos defaults write com.apple.screencapturecomandos de estilo?


2
Existe alguma chance de conseguirmos que você selecione uma resposta que funcionou para você? (ou uma edição para saber melhor o que você procura?)
bmike

Informações semelhantes: superuser.com/q/339702/247728
JayRizzo

Respostas:


11

Você pode alterar 'Captura de tela' para 'captura de tela' com os seguintes comandos

defaults write com.apple.screencapture name screenshot
killall SystemUIServer

Se você quiser ir um pouco mais fundo no Terminal, poderá conseguir o que deseja, fazendo o seguinte:

NOTA: Faça um backup dos arquivos que você alterar, caso cometa um erro.

  1. cd /System/Library/CoreServices/SystemUIServer.app/Contents/Resources/English.lproj
  2. Faça uma cópia do arquivo existente:
    sudo cp ScreenCapture.strings ScreenCapture.strings.old
  3. Digite a senha do administrador, se solicitado
  4. Converta para um formato editável:
    sudo plutil -convert xml1 ScreenCapture.strings
  5. sudo vi ScreenCapture.strings

    Localize as seguintes linhas:

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

    e substitua pelas seguintes linhas:

    <key>%@ %@ at %@</key>  
    <string>%@_%@_%@</string>  
    
  6. Converta novamente em binário:
    sudo plutil -convert binary1 ScreenCapture.strings
  7. killall SystemUIServer

que, combinado com a primeira alteração, você deve obter algo assim:

screenshot_2011-08-30_10.01.36.png o que é muito próximo do que você precisa, eu acho


2
Isso não parece funcionar no OS X El Capitan, provavelmente devido à Proteção de integridade do sistema.
Radon Rosborough

7

Eu resolvi isso de outra maneira. Usando o Automator, configurei uma Ação de pasta para monitorar minha pasta de captura de tela e renomear quaisquer novos arquivos exatamente da maneira que eu os quero.

Há um guia decente aqui com uma abordagem e instruções semelhantes.


Qual é a latência com a abordagem do Automator? Por quanto tempo a captura de tela original é salva e o arquivo está disponível com o novo nome de arquivo? É 1 segundo, 3 segundos, 12 segundos?
Cheeso

Entre 5 e 7 segundos da captura de tela são tirados até que o nome do arquivo seja alterado (no meu MacBook Pro de 2009).
Adrian B

Obrigado! Dado isso, vou escrever um código bash para fazer isso.
Cheeso

4

Desabilitei os atalhos padrão e atribuai um atalho para este comando:

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

-i (interativo) é como ⇧⌘4 ou ⌃⇧⌘4.


Essa parece ser a solução mais direta para o problema. Mas como mapear um atalho para um comando? Na caixa de diálogo Preferências do sistema, diz "insira o nome exato do COMANDO DO MENU que você deseja adicionar". Seu comando não é um comando de menu, então ...?
Cheeso

1
@ Chees Veja o link na resposta. Você pode usar um aplicativo como FastScripts ou Alfred ou criar um serviço com o Automator.
Lri

3

Abra o terminal e digite:

$ sudo su

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

$ plutil -convert xml1 ScreenCapture.strings

$ nano ScreenCapture.strings

mudança

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

para

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

então

Control+ O para gravar o arquivo e Control+ X para sair do nano

$ plutil -convert binary1 ScreenCapture.strings

$ killall SystemUIServer

Mais uma coisa a observar aqui é que, para se livrar do AM / PM, você precisará alterá-lo em Preferências do sistema> Idioma e texto> Formatos (formato de 24 horas). Os carimbos de hora são exibidos de acordo com a configuração; Lembre-se de que, se você alterar essa configuração, todos os nomes de arquivos usarão esse formato.

~ Deixe-me saber como funciona.


3

O mesmo efeito das complicadas ações do terminal mostradas acima pode ser alcançado através do painel de preferências de segredos gratuitos , que serve como uma interface para todos os tipos de configurações ocultas no Mac OS e seus aplicativos. Basta abrir o painel de preferências e encontrar a configuração que você deseja alterar


1

Eu gostava resposta de Adrian B . Aqui está o script de shell que escrevi para renomear arquivos de captura de tela: https://gist.github.com/DinoChiesa/7796444

Para configurá-lo como uma ação de pasta, siga este artigo .

Quando você chegar à janela Automator, siga este guia:

insira a descrição da imagem aqui

Não esqueça de salvá-lo (Command-S).

Na minha experiência, leva de três a seis segundos para que a ação da pasta seja "iniciada" após a captura da tela.


1

basta usar 2 comandos:

defaults write com.apple.screencapture name "screenshot_$(date +%Y_%m_%d-%H_%M_%S)"
defaults write com.apple.screencapture "include-date" 0

você também pode alterar o local da captura de tela padrão (no meu caso, esta é uma pasta no iCloud)

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

obrigado é bom
TinhNQ 22/01

0

Na IMO, você não deve absolutamente mexer com nada em / System /.

Por um lado, você está apenas pedindo que suas personalizações sejam substituídas por uma atualização futura.

Faça o download da demonstração do Sharpshooter em http://www.kerlmax.com/products/sharpshooter/

Você pode usá-lo por 30 dias. Então compre por US $ 15. É uma grande utilidade.

Como alternativa, você já experimentou o Skitch ? É totalmente gratuito e muito melhor que o incorporado.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.