[GastForen Programmierung/Entwicklung AppleScript Ordneraktion einmalig durchführen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Ordneraktion einmalig durchführen

macpie
Beiträge gesamt: 63

5. Sep 2014, 15:18
Beitrag # 1 von 7
Bewertung:
(3212 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

ich habe heute eine Ordneraktion erstellt, aber leider funktioniert diese noch nicht ganz so, wie ich mir das wünsche. Vielleicht kann mir hier jemand helden.

Ich möchte, dass wenn ich eine Datei "xy.tiff" in den Ordner "A" lege, der Dateiname um "_A" erweitert wird. Dies habe ich auch so hinbekommen mit der Ordnerfunktion und dem entsprechenden Workflow. Jetzt ist es nur leider so, dass der Ordner dies ja immer weiter macht, so dass nach einer gewissen Zeit der Anhang noch einmal angehängt wird und die Datei dann "xy_A_A.tiff" heißt.

Wie kann ich dies unterbinden, dass diese Aktion einmalig ausgeführt wird bzw. nur bei neu hinzukommenden Dateien ausgeführt wird?

Vielen Dank

Grüße
Flo
X

Ordneraktion einmalig durchführen

Hans Haesler
  
Beiträge gesamt: 5826

5. Sep 2014, 19:29
Beitrag # 2 von 7
Beitrag ID: #531757
Bewertung:
(3176 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Flo,

ich habe zwei Ideen, wie das Problem gelöst werden könnte.

Würdest Du bitte Dein Script posten? Und auch zwei, drei typische Dateinamen.
Dann könnte ich zuverlässiger prüfen, ob eine meiner Ergänzungen funktioniert.

Besten Dank im voraus.

Gruss, Hans

Ach ja: Welche Version von Mac OS X benutzest Du?


als Antwort auf: [#531752]
(Dieser Beitrag wurde von Hans Haesler am 5. Sep 2014, 21:20 geändert)

Ordneraktion einmalig durchführen

macpie
Beiträge gesamt: 63

6. Sep 2014, 11:25
Beitrag # 3 von 7
Beitrag ID: #531764
Bewertung:
(3104 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

das Script besteht aus den Aktionen von Automator. Ich habe eine Ordner Aktion bei der der Text ersetzt werden soll und diese wird nicht dauerhaft wiederholt. Liegt wohl daran, dass der Text beim ersetzen ja nicht mehr da ist und so die endlos Schleife keine Auswirkungen hat.

Dateinamen sind sehr unterschiedlich, aber als Beispiel wäre möglich Bild_Lanschaft_001.tiff oder Menschen_Malloca_027.tiff
o.ä.

Ich benutze Mac OS X Maverick. Der Server auf den ich die Ordner aktion verschieben möchte, läuft aber unter 10.6.8.

Vielen Dank

Grüße
Flo


als Antwort auf: [#531757]

Ordneraktion einmalig durchführen

Hans Haesler
  
Beiträge gesamt: 5826

6. Sep 2014, 13:38
Beitrag # 4 von 7
Beitrag ID: #531776
Bewertung:
(3038 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Flo,

ich habe gestern Abend schon mal meine beiden Ideen umgesetzt. Sie funktionieren.

Mit der ersten Lösung wird eine Datei nur umbenannt, wenn sich an zweitletzter Stelle des Namens kein Underscore befindet.

Die andere Idee: Prüfen, ob der Datei ein Etikett zugewiesen ist. Falls nicht, wird sie mit dem Kürzel versehen und gleichzeitig wird ihr ein Etikett verpasst.

Ich bin unterwegs und werde deshalb die beiden Lösungen erst heute Abend posten können.

Gruss, Hans


als Antwort auf: [#531764]

Ordneraktion einmalig durchführen

Hans Haesler
  
Beiträge gesamt: 5826

6. Sep 2014, 19:45
Beitrag # 5 von 7
Beitrag ID: #531789
Bewertung:
(3001 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Flo,

das erste Script prüft, ob das zweitletzte Zeichen im Namen ein Underscore ist:

Code
on adding folder items to thisFolder after receiving itemList 
set addOn to "_A"
repeat with aFile in itemList
set fullPath to (aFile as string)
if fullPath ends with ":" then
else
set AppleScript's text item delimiters to {":"}
set filePath to text items 1 thru -2 of fullPath
set oldName to text item -1 of fullPath
if oldName contains "." then
set AppleScript's text item delimiters to {"."}
set baseName to text items 1 thru -2 of oldName as string
set suffix to text item -1 of oldName
else
set baseName to oldName
set suffix to ""
end if
if character -2 of baseName is not "_" then
if suffix is not "" then
set newName to baseName & addOn & "." & suffix
else
set newName to baseName & addOn
end if
set newPath to (filePath & newName) as string
try
tell application "Finder" to set name of file fullPath to newName
end try
end if
end if
end repeat
set AppleScript's text item delimiters to {""}
end adding folder items to

Falls aber Namen vorkommen, welche vor dem Umbenennen einen Underscore an dieser Position haben, dann muss eine andere Lösung her.

Zum Beispiel die folgende, welche das zugewiesene Etikett prüft. Ist es "0", dann wird die Datei umbenannt und das Etikett "6" angebracht, welches vor weiterem Umbenennen schützt:

Code
on adding folder items to thisFolder after receiving itemList 
set addOn to "_A"
repeat with aFile in itemList
set fullPath to (aFile as string)
if fullPath ends with ":" then
else
tell application "Finder"
set labInd to label index of file fullPath
end tell
if labInd is 0 then
set AppleScript's text item delimiters to {":"}
set filePath to text items 1 thru -2 of fullPath
set oldName to text item -1 of fullPath
if oldName contains "." then
set AppleScript's text item delimiters to {"."}
set baseName to text items 1 thru -2 of oldName as string
set suffix to text item -1 of oldName
set newName to baseName & addOn & "." & suffix
else
set baseName to oldName
set newName to baseName & addOn
end if
set newPath to (filePath & newName) as string
try
tell application "Finder" to set properties of file fullPath to {name:newName, label index:6}
end try
end if
end if
end repeat
set AppleScript's text item delimiters to {""}
end adding folder items to

Beide Scripts unter Mac OS X 10.6.8 getestet.

Gruss, Hans


als Antwort auf: [#531764]

Ordneraktion einmalig durchführen

macpie
Beiträge gesamt: 63

8. Sep 2014, 09:51
Beitrag # 6 von 7
Beitrag ID: #531830
Bewertung:
(2865 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

vielen Dank für die beiden Scripte, das zweite funktioniert auch super bei mir. Beim ersten erhalte ich immer noch das mehrmalige anhängen des gewünschenten Textes "_A".

Aber das zweite funktioniert super.

Vielen Dank für deine Hilfe

Viele Grüße
Flo


als Antwort auf: [#531789]

Ordneraktion einmalig durchführen

Hans Haesler
  
Beiträge gesamt: 5826

8. Sep 2014, 10:18
Beitrag # 7 von 7
Beitrag ID: #531834
Bewertung:
(2857 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Flo,

bitte sehr.

Nun, das erste Script funktioniert hier wie erwartet.
Vielleicht war bei Dir noch das ursprüngliche Script aktiv.

Gruss, Hans


als Antwort auf: [#531830]
X