Frage:
Wie ändern Sie das Format des OSX Screen Shot-Dateinamens?
mbigras
2016-09-03 04:08:15 UTC
view on stackexchange narkive permalink

Ich möchte, dass meine Screenshots nur mit der aktuellen Datums- und Uhrzeitangabe benannt werden, vorzugsweise in einem Format wie:

  2016-09-02-16: 02: 48
 

Wie soll ich das machen?

Bisher habe ich versucht, eine leere Zeichenfolge in com.apple.screencapture name

einzufügen

wie gezeigt:

  $ standardmäßig schreibe com.apple.screencapture name ""
$ killall SystemUIServer
 

OSX fügt jedoch weiterhin ein Leerzeichen ein, wie unten gezeigt: enter image description here

Ich habe also zwei Probleme:

  1. Wie ändere ich das Datums- / Uhrzeitformat, damit keine Leerzeichen vorhanden sind?
  2. Wie stelle ich sicher, dass der Screenshot-Dateiname kein führendes Leerzeichen enthält?
  3. ol>

    Danke :)

Haben Sie jemals einen Weg gefunden, dies zu erreichen?
Fünf antworten:
klanomath
2016-09-03 06:13:45 UTC
view on stackexchange narkive permalink

Sie können eine Datei weder in den vorgeschlagenen Namen umbenennen - sie enthält mehrere Doppelpunkte (: ), die im HFS + -Dateisystem reservierte (= verbotene) Zeichen sind - noch schreibt standardmäßig com .apple.screencapture ... erlaubt ein anderes Datumsformat.

Eine Idee ist jedoch, einen Startagenten zu erstellen, um alle Dateien in einem dedizierten Ordner umzubenennen, beginnend mit "Screenshot ...":

Eine sehr einfache Lösung, vorausgesetzt, Sie stellen die Standardbenennungskonvention für Screenshots wieder her und ersetzen Benutzername durch Ihren folgenden Kurznamen:

Erstellen Sie eine Datei mit dem Namen "screencaprn" in z. B. / usr / local / bin mit dem Inhalt:

  #! / bin / bash

mv / Benutzer / Benutzername / Desktop / Bildschirm \ Aufnahme * .png / Benutzer / Benutzername / Desktop / "` Datum "+% Y-% m-% d-% H.% M.% S" `.png"; $ 2> / dev / null
 

Berechtigungen ändern:

  chmod + x / usr / local / bin / screencaprn
 

Erstellen Sie dann in ~ / Library / LaunchAgents einen Startagenten mit dem Namen "usr.screenshot.rename.plist" und dem Inhalt:

  <? xml version = "1.0" encoding = "UTF-8"? >
<! DOCTYPE plist PUBLIC "- // Apple // DTD PLIST 1.0 // DE" "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 / user_name / Desktop< / string>
    < / array>
< / dict>
< / plist>
 

Laden Sie dann die Liste mit:

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

Dies funktioniert, hat jedoch eine Verzögerung von bis zu 10 Sekunden (ändert also die Sekunden und manchmal die Minuten der ursprünglich benannten Screenshot-Datei, z. B. Screenshot 2016-09-03 um 03.24.02.png zu 2016-09-03-03.24.05.png ) und fügt eine com.apple.xpc.launchd [1] (usr.screenshot.rename) hinzu: Der Dienst wurde nur für X Sekunden ausgeführt.Respawn um Y Sekunden herausdrücken. Zeile zum Systemprotokoll.

Hinweis zum Zeichen `:`: Tatsächlich handelt es sich nicht um ein reserviertes oder spezielles Zeichen im HFS + -Dateisystem, und Sie können es perfekt in einem Dateinamen verwenden.Es wird jedoch wie ein "/" im Finder aussehen, da die Konvertierung von Classic Mac OS (das das "/" -Zeichen in Dateinamen, aber nicht ":" zuließ) zu OS X (das "/" nicht zulässt) zurückgeworfen wurde.erlaubt aber `:`).
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 ̶c̶o̶m̶.̶a̶p̶p̶l̶e̶.̶s̶c̶r̶e̶e̶n̶c̶a̶p̶t̶u̶r̶e̶ Name ̶ "̶ $ ̶ (Datum ̶ + ̶% y- ̶% M-̶% d) ̶ ̶ ̶ $ (Datum ̶ + ̶% H-̶% M -̶% ̶S̶) ̶ "̶
Standardeinstellungen schreiben com.apple.screencapture "include-date" 0
 

Bitte beachten Sie, dass Sie den : nicht in Dateinamen auf Macos verwenden können.

Ich verwende 2 Datum Variables Zur Lösung dieser Vorlage: ̶ ̶ 2019-07-02 23-04-04.png ̶

Sie können auch den Standardspeicherort für Screenshots ändern (in meinem Fall ist dies ein Ordner in iCloud)

  Standardeinstellungen schreiben com.apple.screencapture Speicherort "~ / Library / Mobile \ Documents / com \ ~ apple \ ~ CloudDocs / Screenshots"
 

UPD: Die Lösung ist nicht korrekt. Der Name ist für jeden Screenshot und das Erstellungsdatum gleich - das Datum, an dem Sie diesen Befehl ausführen

Sie können dies auch versuchen, wenn das Datum nicht angezeigt werden soll: `default write com.apple.screencapture include-date -bool false;killall SystemUIServer`
Matt Sephton
2019-04-19 20:24:35 UTC
view on stackexchange narkive permalink

Das Zeitformat basiert auf dem, was Sie haben in:
Systemeinstellungen > Sprache & Region > 24-Stunden-Zeit

Sie kann überschrieben werden, indem Sie das Format ändern in:
Systemeinstellungen > Sprache & Region > Erweitert ... > Zeiten > Mittel

Es gibt einen seltsamen Fehler im Finder beim Umbenennen von Screenshots, deren Dateiname nicht AM / PM enthält, da die Zeiträume, die die Zeit trennen, mit denen zwischen den Dateierweiterungen verwechselt werden.

Um den Screenshot und den führenden Bereich zu entfernen, würde ich ein Tool verwenden, das das Dateisystem überwacht und benutzerdefinierte Aktionen ausführen kann - so etwas wie Hazel.Tatsächlich konnten Sie sich überhaupt nicht mit den Systemeinstellungen herumschlagen und Hazel dazu bringen, die Screenshot-Dateien für Sie umzubenennen.

Hinweis: Sie können das Doppelpunktzeichen in Dateinamen nicht verwenden.

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

Siehe Wie ändere ich den Standardnamen für Screenshots in OS X Lion?, um den Rest des Namens zu ändern.Das Leerzeichen wird durch das in der Zeichenfolgendatei angegebene Zeichenfolgenformat eingefügt, was höchstwahrscheinlich auf die Notwendigkeit der Lokalisierung von Datums- und Zeitwerten zurückzuführen ist.Wenn Sie das Ändern des Präfixes für den Plist-Namen mit dem Ändern des formatierten Tinestamp kombinieren, können Sie es so machen, wie Sie möchten.

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

Eine andere Lösung ist ein lang laufender Daemon, der den Dateimodifikationsdienst abonniert und die Dateinamen beim Erstellen ändert.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...