Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

AppleScript für Bildsortierung

 
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
iPille
•->
•->


Anmeldedatum: 22.07.2014
Beiträge: 8
Wohnort: Sachsen

BeitragVerfasst am: 22.07.2014 - 10:21    Titel: AppleScript für Bildsortierung Antworten mit Zitat

Hallo miteinander,

ich habe schon in etlichen Foren als Nichtmitglied gestöbert und versucht, mir eine Lösung zu basteln - allein, es hat nicht funktioniert. Mit Automator komme ich gut zurecht, aber bei Applescript ist mein Limit sehr schnell erreicht - leider.

Was möchte ich:

Ich suche ein paar Zeilen Applescript in einem Automatorscript, welches mir Bilder nach Hoch- oder Querformat sortiert und entsprechend umbenennt. Sad

Da ich es nicht selbst zustande bringe, habe ich mir ein paar Zeilen zusammengeklaut bei anderen Autoren. Das hat bei anderen Scripts gut gepasst, hier leider nicht.

Meine Probleme:

• Def. von Variablen (soweit notwendig)
• mehrfacher Ablauf in einer Schleife bei Auswahl mehrerer Bilder
• korrekte Umbennung der Bilder in "H_xxx" und "Q_xxx"

Wäre toll, wenn mir das mal einer hinbiegt.



Das habe ich bereits:
===========================


set this_file to choose file without invisibles
set the target_length to 128
try
tell application "Image Events"
-- start the Image Events application
launch
-- open the image file
set this_image to open this_file
-- get dimensions of the image
copy dimensions of this_image to {W, H}
--
if W is less than H then
beep 1

else

beep 2

end if




end tell

display dialog "Ich bin fertig"

on error error_message
display dialog error_message
end try


--Sorry, das mit dem Bild hier hat nicht geklappt.
===========================

Ggf. vorher noch eine Abfrage, welche Dateien bearbeitet werden sollen. Die Beeps habe ich reingemacht, um zu sehen, ob die Sortierung H vs. Q überhaupt funktioniert. Aber nach einem Bild ist Schluß und die Umbenennung klappt gar nicht (hab ich erstmal wieder rausgemacht).


Ich danke schon mal vorab für die Unterstützung und hoffe auf Hilfe.

Servus iPille
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grenzli
•-->
•-->


Anmeldedatum: 05.02.2010
Beiträge: 39

BeitragVerfasst am: 24.07.2014 - 22:10    Titel: Antworten mit Zitat

hi,

nachdem mir hier auch oft geholfen wurde, möchte ich versuchen ein bisschen was "wiederzugeben".

Und weil ich mir denken kann, dass die Optimierer hier eher an einem "fertigen" Skript optimieren (mäkeln), hab ichs mal so zusammengeschrieben, wie ich's kann und es funktioniert.

__________


set these_files to choose file with invisibles and multiple selections allowed -- mehrfachauswahl
set the target_length to 128
try
repeat with this_file in these_files -- schleife für jedes Bild aus der Auswahl

set altedatei to quoted form of POSIX path of this_file --kompletter Dateipfad für's umbenennen
set alterdateiname to do shell script "basename " & quoted form of POSIX path of this_file
-- Dateiname für's umbenennen
set ordnername to do shell script "dirname " & quoted form of POSIX path of this_file
-- Ordnername für's umbenennen

set wname to quoted form of (ordnername & "/w_" & alterdateiname)
--Dateipfad für Querformate inkl. Pfad
set hname to quoted form of (ordnername & "/h_" & alterdateiname)
--Dateipfad für Hochformate inkl. Pfad

tell application "Image Events"
-- start the Image Events application
launch
-- open the image file
set this_image to open this_file
-- get dimensions of the image
copy dimensions of this_image to {W, H}
-- Wenn Breite kleiner = Hochformat
end tell
if W < H then
do shell script "mv " & altedatei & " " & hname
-- ändere alten Dateipfad in neuen Dateipfad

else

do shell script "mv " & altedatei & " " & wname
-- ändere alten Dateipfad in neuen Dateipfad

end if

end repeat
display dialog "Ich bin fertig"
on error error_message
display dialog error_message

end try
_________


man kann dann noch diverse Spielereien einbauen, dass du einen Ordner droppen kannst, und dann eine liste mit den Dateiendungen hast, und daraus aussuchen kannst, welche du umbenannt haben möchtest, etc, aber das ist nichts mehr für heute, eher für morgen.


ich habs mal kommentiert, falls es noch fragen gibt, gern.
grüße
sebastian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
iPille
•->
•->


Anmeldedatum: 22.07.2014
Beiträge: 8
Wohnort: Sachsen

BeitragVerfasst am: 25.07.2014 - 09:36    Titel: Antworten mit Zitat

Hallo Grenzli,

vielen Dank für die schnelle und vor allem überaus hilfreiche Antwort Very Happy

Es hat soweit alles zu meiner Zufriedenheit geklappt, auch wenn die Perfektionisten noch fleißig tunen können. Wichtig war mir quasi die Sortiererei und die Umbenennung. Das hat super funktioniert.

Dann mal weiterhin frohes Schaffen und nochmals danke.


Servus iPille
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Wolle-77
•--->
•--->


Anmeldedatum: 25.02.2003
Beiträge: 447
Wohnort: Geldern

BeitragVerfasst am: 25.07.2014 - 13:02    Titel: Antworten mit Zitat

Hallo iPille,

ich habe derzeit wenig Zeit und mir Deinen Code gar nicht angesehen. Ganz kurz leider, ich arbeite gar nicht mit dem Automator. Ich habe Dir jetzt mal eine funktionierende Standalone-Lösung erstellt.

Speichere folgendes als Programm ab. Dann einfach die Dateien draufziehen.

Man kann es natürlich noch erweitern und derzeit findet keine Plausibilitätsprüfung statt, das bedeutet, es kann Fehler geben, wenn keine gültige Bilddateien draufgezogen werden usw.

Spiel einfach mal damit herum.

Code:
on run
   display dialog "Dieses Droplet sortiert Bilder nach Quer- und Hochformat bzw. benennt sich um. Einfach eine oder mehrere Bilddateien auf das Programm ziehen." with icon 1 buttons {"Ok"} default button 1 giving up after 350
end run

on open bilder
   do shell script "mkdir -p ~/Desktop/Bilder_sortiert"
   repeat with bild in bilder
      set {b, h} to my bildmasze(bild)
      set orgname to do shell script "basename " & quoted form of POSIX path of bild
      if b is greater than or equal to h then # Querformat
         set namensoption to "Q_"
      else # b ist kleiner als h, Hochformatbild
         set namensoption to "H_"
      end if
      do shell script "mv " & (quoted form of POSIX path of bild) & " " & quoted form of (POSIX path of (path to "desk") & "Bilder_sortiert/" & namensoption & "_" & orgname)
   end repeat
end open

on bildmasze(bild)
   set {b, h} to paragraphs of (do shell script "sips -g pixelWidth -g pixelHeight " & quoted form of POSIX path of bild & " | tail -n2 | cut -d' ' -f4")
   return {b as integer, h as integer}
end bildmasze

_________________
Martin Wolter
--
Apple rocks the planet!


Zuletzt bearbeitet von Wolle-77 am 25.07.2014 - 13:20, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
iPille
•->
•->


Anmeldedatum: 22.07.2014
Beiträge: 8
Wohnort: Sachsen

BeitragVerfasst am: 25.07.2014 - 13:17    Titel: Antworten mit Zitat

Hallo Martin,


habe das Script als Programm gespeichert und dann - wie beschrieben - die Bilddateien draufgezogen.

Anfangs passierte gar nix.

Dann habe ich dem Script noch aus Automator die Aktion "Ausgewählte Finder-Objekte abfragen" vorangestellt. Es erscheint in der OS X-Menüleiste zwar ein rotierendes Rad, aber es passiert wieder nix.

Ich bleibe vorerst mal bei Grenzlis Script.


Trotzdem danke.


Servus iPille
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Wolle-77
•--->
•--->


Anmeldedatum: 25.02.2003
Beiträge: 447
Wohnort: Geldern

BeitragVerfasst am: 25.07.2014 - 13:33    Titel: Antworten mit Zitat

Hallo iPille,

was heißt, es passierte gar nichts? Hast Du überhaupt mal in Deinem Schreibtisch im Ordner Bilder_sortiert nachgeschaut?
_________________
Martin Wolter
--
Apple rocks the planet!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Wolle-77
•--->
•--->


Anmeldedatum: 25.02.2003
Beiträge: 447
Wohnort: Geldern

BeitragVerfasst am: 25.07.2014 - 13:36    Titel: Antworten mit Zitat

Und wie gesagt, es hat mit Automator nicht das geringste zu tun.

Du sollst es nur im ScriptEditor abspeichern als Programm; nicht dem Automator.
_________________
Martin Wolter
--
Apple rocks the planet!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
iPille
•->
•->


Anmeldedatum: 22.07.2014
Beiträge: 8
Wohnort: Sachsen

BeitragVerfasst am: 25.07.2014 - 13:39    Titel: Antworten mit Zitat

Ich habe mir einen Test-Ordner auf den Schreibtisch gezogen und dann dessen Inhalt auf das ebenfalls dort abgespeicherte Icon des Applescript-Programms.

Es öffnet sich irgendwas, dann rotiert das Rad in der Menüleiste und dann kommt die Fehlermeldung.

Das war's.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
iPille
•->
•->


Anmeldedatum: 22.07.2014
Beiträge: 8
Wohnort: Sachsen

BeitragVerfasst am: 25.07.2014 - 13:40    Titel: Antworten mit Zitat

OK, ich habe es im Automator in ein Fenster kopiert und dass Ganze dann mit der Option "Programm" gespeichert.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
iPille
•->
•->


Anmeldedatum: 22.07.2014
Beiträge: 8
Wohnort: Sachsen

BeitragVerfasst am: 25.07.2014 - 13:41    Titel: Antworten mit Zitat

Bin gerade dabei, es über den Script-Editor zu machen.

Ich habe da wohl etwas mißverstanden. Kl. Moment, ich melde mich gleich zurück.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Wolle-77
•--->
•--->


Anmeldedatum: 25.02.2003
Beiträge: 447
Wohnort: Geldern

BeitragVerfasst am: 25.07.2014 - 13:41    Titel: Antworten mit Zitat

Was für eine Fehlermeldung?

Eben hast Du noch gesagt, es passiert nichts. Ich bin sicher, Du hast es nicht korrekt als reines AppleScript-Programm gespeichert.

Wenn es läuft, sortiert es Dir rasend schnell Bilder. Was hast Du für ein System und was genau getan?
_________________
Martin Wolter
--
Apple rocks the planet!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
iPille
•->
•->


Anmeldedatum: 22.07.2014
Beiträge: 8
Wohnort: Sachsen

BeitragVerfasst am: 25.07.2014 - 13:45    Titel: Antworten mit Zitat

Soooooo,

nach Erstellen eines Programms via Script-Editor klappt alles wunderbar.

Das Programm erstellt auf dem Desktop nun einen neuen Ordner "Bilder-sortiert", benennt alle Bilder nach Vorgabe um und schiebt sie in den vorgenannten Ordner.

Und das alles erfreulich schnell.


Vielen Dank, das ist jetzt prima. Und sorry für meinen Fehler.


Servus iPille

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
iPille
•->
•->


Anmeldedatum: 22.07.2014
Beiträge: 8
Wohnort: Sachsen

BeitragVerfasst am: 25.07.2014 - 13:50    Titel: Antworten mit Zitat

Meine Anfrage wurde flugs beantwortet und die Aufgabe prima gelöst, sogar zweimal.

Ich muss ehrlich gestehen, dass ich da niemals draufgekommen wäre.

Nochmals besten Dank.

Servus iPille
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter