Domanda:
Come si modifica il formato del nome del file di Screen Shot OSX?
mbigras
2016-09-03 04:08:15 UTC
view on stackexchange narkive permalink

Vorrei che alle mie schermate venga assegnato solo il nome della data e dell'ora corrente, preferibilmente in un formato come:

  2016-09-02-16: 02: 48
 

Come devo procedere per farlo?

Finora ho provato a inserire una stringa vuota nel com.apple.screencapture name

come mostrato:

  $ defaults scrive com.apple.screencapture nome ""
$ killall SystemUIServer
 

Ma OSX sta ancora inserendo uno spazio come mostrato di seguito: enter image description here

Quindi ci sono due problemi che sto avendo:

  1. Come faccio a modificare il formato della data e dell'ora in modo che non ci siano spazi?
  2. Come posso assicurarmi che non ci sia spazio iniziale nel nome del file dello screenshot?

Grazie :)

Hai mai trovato un modo per ottenerlo?
Cinque risposte:
klanomath
2016-09-03 06:13:45 UTC
view on stackexchange narkive permalink

Non puoi nemmeno rinominare un file con il nome proposto - contiene diversi due punti (: ) che sono caratteri riservati (= vietati) nel file system HFS + - né i valori predefiniti di scrivono com .apple.screencapture ... consente un diverso formato della data.

Tuttavia, un'idea è creare un agente di lancio per rinominare tutti i file in una cartella dedicata che inizia con "Screen Shot ...":

Una soluzione molto semplice, supponendo che tu ripristini la convenzione di denominazione predefinita per gli screenshot e sostituisca nome_utente con il tuo nome breve di seguito, è:

Crea un file denominato "screencaprn" in es / usr / local / bin con il contenuto:

  #! / bin / bash

mv / Users / nome_utente / Desktop / Screen \ Shot * .png / Users / nome_utente / Desktop / "` date "+% Y-% m-% d-% H.% M.% S" `.png"; $ 2> / dev / null
 

Modifica autorizzazioni:

  chmod + x / usr / local / bin / screencaprn
 

Quindi crea un agente di lancio in ~ / Library / LaunchAgents con il nome "usr.screenshot.rename.plist" e il contenuto:

  <? xml version = "1.0" encoding = "UTF-8"? >
<! DOCTYPE plist PUBLIC "- // Apple // DTD PLIST 1.0 // EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version = "1.0" >
<dict>
    <key>Label< / key>
    <string>usr.screenshot.rename< / string>
    <key>ProgramArguments< / key>
    <array>
        <string> / bin / bash< / string>
        <string>-c< / string>
        <string> / usr / local / bin / screencaprn< / string>
    < / array>
    <key>WatchPaths< / key>
    <array>
<string> / Users / nome_utente / Desktop< / string>
    < / array>
< / dict>
< / plist>
 

Quindi carica il plist con:

  launchctl load ~ / Library / LaunchAgents / usr.screenshot.rename.plist
 

Funziona ma ha un ritardo fino a 10 secondi (quindi cambia i secondi e talvolta i minuti del file screenshot con nome originale, ad esempio Screen Shot 2016-09-03 alle 03.24.02.png a 2016-09-03-03.24.05.png ) e aggiunge un com.apple.xpc.launchd [1] (usr.screenshot.rename): il servizio è stato eseguito solo per X secondi.Pushing respawn out by Y secondi. line to the system log.

Nota sul carattere `:`: In realtà non è un carattere riservato o speciale sul filesystem HFS +, e puoi usarlo perfettamente in un nome di file.Tuttavia apparirà come una "/" nel Finder a causa di un ritorno alla conversione dal classico Mac OS (che consentiva il carattere "/" nei nomi dei file, ma non ":") in OS X (che non consente "/",ma consente `:`).
Pavlo Zamoroka
2019-07-03 01:01:04 UTC
view on stackexchange narkive permalink

j̶u̶s̶t̶ ̶u̶s̶e̶ ̶2̶ ̶c̶o̶m̶m̶a̶n̶d̶s̶: ̶ ̶

  defaults write com.apple.screencapture nome ̶ "̶ $ ̶ (data ̶ + ̶% Y-̶% M-̶% d) ̶ ̶ $ ̶ (data ̶ + ̶% H-̶% m -S
i valori predefiniti scrivono com.apple.screencapture "include-date" 0
 

Tieni presente che non puoi utilizzare : nei nomi dei file su macos.

Io uso 2 Data di variabili per ottenere questo modello: ̶ ̶ 2019-07-02 23-04-04.png ̶

puoi anche cambiare la posizione predefinita dello screenshot (nel mio caso questa è una cartella in iCloud)

  i valori predefiniti scrivono com.apple.screencapture location "~ / Library / Mobile \ Documents / com \ ~ apple \ ~ CloudDocs / screenshots"
 

UPD: la sua soluzione non corretta. il nome sarà lo stesso per ogni screenshot e la data generata - è la data in cui esegui questi comandi

Puoi anche provare questo se non vuoi che appaia la data: `defaults write com.apple.screencapture include-date -bool false;killall SystemUIServer`
Matt Sephton
2019-04-19 20:24:35 UTC
view on stackexchange narkive permalink

Il formato dell'ora si basa su ciò che hai in:
Preferenze di sistema Lingua > Lingua & Regione > 24 ore

Può essere sovrascritto modificando il formato in:
Preferenze di sistema > Lingua & Regione > Avanzate ... > Times > Medio

C'è uno strano bug nel Finder quando si rinominano gli screenshot che non hanno AM / PM nel nome del file, poiché i periodi che separano l'ora vengono confusi con quello che separa le estensioni dei file.

Per eliminare la schermata e lo spazio iniziale, utilizzerei uno strumento che controlla il file system e può eseguire azioni definite dall'utente, qualcosa come Hazel.In effetti, non puoi assolutamente scherzare con le Preferenze di Sistema e fare in modo che Hazel rinomini i file della schermata per te.

Nota: non potrai usare il carattere: due punti nei nomi dei file.

John Keates
2016-09-03 10:31:10 UTC
view on stackexchange narkive permalink

Vedi Come si cambia il nome predefinito dello screenshot in OS X Lion? per cambiare il resto del nome.Lo spazio è inserito dal formato della stringa indicato nel file delle stringhe, molto probabilmente a causa della necessità di localizzare i valori di data e ora.Se combini la modifica del prefisso del nome plist con la modifica del tinestamp formattato puoi fargli fare quello che vuoi.

vy32
2018-06-10 02:52:32 UTC
view on stackexchange narkive permalink

Un'altra soluzione è un demone di lunga durata che si iscrive al servizio di modifica dei file e cambia i nomi dei file quando vengono creati.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...