Folder Script Actions

Dieses Thema im Forum "Scripting und Automatisierung" wurde erstellt von mailtopp, 16.04.2008.

  1. mailtopp

    mailtopp Thread Starter MacUser Mitglied

    Beiträge:
    697
    Zustimmungen:
    4
    Mitglied seit:
    17.09.2003
    Hi,

    ich hab ein Folder Script Action das folgendes beinhaltet:

    on adding folder items to this_folder after receiving added_items
    --Code
    end adding folder items to

    Das funktioniert aber nur sporadisch... so ca. jedes zweite Mal.
    manchmal sofort,.. manchmal verspätet und manchmal gar nicht!

    woran könnte das liegen?
     
  2. little_pixel

    little_pixel MacUser Mitglied

    Beiträge:
    4.178
    Zustimmungen:
    1.086
    Mitglied seit:
    06.06.2006
    Hallo,

    an Fehlern in Deinem Code ;-)
    Hast Du z.B. mal ein Dialog ganz am Anfang eingefügt um den Aufruf zu kontrollieren?
    Wenn Du uns den Code bereitstellst, dann könnte der Lösungsansatz vielleicht besser werden.

    Viele Grüße
     
  3. mailtopp

    mailtopp Thread Starter MacUser Mitglied

    Beiträge:
    697
    Zustimmungen:
    4
    Mitglied seit:
    17.09.2003
    Code:
    
    
    on adding folder items to this_folder after receiving added_items
    	set folderPath to ""
    	tell application "Finder"
    		repeat with this_thing in added_items
    			set oldFileName to name of this_thing as text
    			set newFileName to "" as text
    			
    			repeat with i from 1 to (count of oldFileName)
    				if item i of oldFileName = " " then
    					set newFileName to newFileName & "_"
    				else
    					set newFileName to newFileName & item i of oldFileName
    				end if
    			end repeat
    			
    			set name of this_thing to newFileName
    			set folderPath to folderPath & "http://mydomain.org/Public/" & name of this_thing & return
    			
    		end repeat
    		beep
    	end tell
    	
    	set the clipboard to folderPath
    	
    end adding folder items to
    
     
  4. little_pixel

    little_pixel MacUser Mitglied

    Beiträge:
    4.178
    Zustimmungen:
    1.086
    Mitglied seit:
    06.06.2006
    Hallo,

    "item" innerhalb einer Finder-Anweisung zu verwenden um Buchstaben zu ersetzen ist nicht sehr gut.

    Ich schlage vor:

    Code:
    on adding folder items to this_folder after receiving added_items
    	
    	tell application "Finder"
    		
    		set folderPath to ""
    		
    		repeat with this_thing in added_items
    			try
    				set newFileName to my erseten(((name of this_thing) as string), " ", "_")
    				set name of this_thing to newFileName
    				set folderPath to folderPath & "http://mydomain.de/Public/" & newFileName & return
    			on error
    				-- vielleicht eine Meldung?
    			end try
    		end repeat
    		
    		beep
    		
    	end tell
    	
    	set the clipboard to folderPath
    	
    end adding folder items to
    
    on erseten(txt, suchen, ersetzen)
    	set AppleScript's text item delimiters to suchen
    	set txt to every text item of txt
    	set AppleScript's text item delimiters to ersetzen
    	return ((every text item of txt) as string)
    end erseten
    Ich würde noch ein paar Kleinigkeiten ändern, aber ich denke das ist schon gut so für Dich.

    Aber bitte überprüfe zunächst, ob das Skript überhaupt aufgerufen wird, z.B. mittels Dialog.

    Viele Grüße
     
  5. mailtopp

    mailtopp Thread Starter MacUser Mitglied

    Beiträge:
    697
    Zustimmungen:
    4
    Mitglied seit:
    17.09.2003
    dankeschön, aber bei deinem script hab ich das gleiche problem... das dauert mindestens 1 bis 2 sekunden, bis das script anspringt!

    also hintergrund ist: wenn ich einen screenshot mach, soll er sofort publizierbar sein! hab leo so einstellt, dass neue screens sofort in den public ordner abgelegt werden.

    jetzt gibts dabei noch ein problem:

    1. ich mach einen screenshot.. die datei "Bild 1.png" entsteht
    2. das Skript benennt die Datei in "Bild_1.png" um und kopierst in die Zwischenablage
    3. wenn ich einen neuen Screenshot mach, erstellt er wieder eine "Bild 1.png"
    4. dann klappt natürlich das umbenennen nicht mehr

    was wäre da eine ganz einfache methode, dass er das erkennt und das dann in Bild_2.png umbenennt und falls das existiert in Bild_3.png usw usw..
     
  6. little_pixel

    little_pixel MacUser Mitglied

    Beiträge:
    4.178
    Zustimmungen:
    1.086
    Mitglied seit:
    06.06.2006
    Hast Du nun ein Dialog eingebaut?

    Verzögert startet es in der Regel immer. Das ist normal.
    Aber das sporadische sollte jetzt behoben sein.

    Viele Grüße
     
  7. chebfarid

    chebfarid MacUser Mitglied

    Beiträge:
    894
    Zustimmungen:
    75
    Mitglied seit:
    05.10.2005
    Hab jetzt keinen Mac um's auszuprobieren, aber mein theoretischer Vorschlag wäre folgender: vergiss komplett den Originalnamen des Screenshots samt seiner Indexnummer und kontrolliere stattdessen vor dem umbenennen wieviele Bilder der Ordner enthält und errechne die neue Nummer selbst, z.B.:
    PHP:
    set c to count of (every item of this_folder) -- z.B15 (14 mit dem korrekten Namen der neue File mit dem Originalnamen)
    -- 
    der neue Name für das zugekommene Bild lautet dann:
    set newName to ("Bild_" ".png") --> Resultat"Bild_15.png"
    Good scripting
    Farid
     
  8. mailtopp

    mailtopp Thread Starter MacUser Mitglied

    Beiträge:
    697
    Zustimmungen:
    4
    Mitglied seit:
    17.09.2003
    gute idee.. das problem ist, dass da ja noch mehr ist außer screenshots!
     
  9. chebfarid

    chebfarid MacUser Mitglied

    Beiträge:
    894
    Zustimmungen:
    75
    Mitglied seit:
    05.10.2005
    Schlecht :p ;) !
    Ist aber trotzdem lösbar: mußt einen Loop schreiben, der alle Items zählt, die "Bild_" im Namen haben, die neue Indexnummer ist dann c+1.

    Ciao
    Farid
     
  10. mailtopp

    mailtopp Thread Starter MacUser Mitglied

    Beiträge:
    697
    Zustimmungen:
    4
    Mitglied seit:
    17.09.2003
    krieg ich nicht hin ;(
    bin ein anfänger...
    kannst du mir die zeile posten, wie man mit einer schleife datei für datei abarbeiten kann?
     
Die Seite wird geladen...

Diese Seite empfehlen