Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
kipp •-->

Anmeldedatum: 27.03.2007 Beiträge: 73 Wohnort: Göttingen
|
Verfasst am: 21.07.2011 - 00:27 Titel: Dateinamen vergleichen |
|
|
Hallo,
gibt es eine Möglichkeit, die jeweils letzte Datei einer Gruppe (hier im Beispiel wird der Zusammenhang durch die ersten drei Buchstaben markiert) farbig zu markieren?
Code: |
ABC 1.pdf
ABC 2.pdf
DEF 1.pdf
GHI 1.pdf
GHI 2.pdf
GHI 3.pdf
JKL 1.pdf
|
In diesem Beispiel müsste also ABC 2 und DEF 1 und GHI 3 und JKL 1 farbig hervorgehoben werden. Dazu müsste Applescript aber die ersten drei Buchstaben der gerade bearbeiteten Datei mit dem Namen der _nächsten_ zu bearbeitenden Datei vergleichen - also
wenn ABC 1 genau so anfängt wie ABC 2, dann mache nichts mit ABC 1
wenn ABC 2 genau so anfängt wie DEF 1, dann mache nichts mit ABC 2
und wenn nicht, dann markiere ABC 2 rot
... geht so was ?
Grüße in die weite Nacht,
>>> kipp ;-) |
|
Nach oben |
|
 |
Skeeve •---->


Anmeldedatum: 20.04.2006 Beiträge: 1067
|
Verfasst am: 21.07.2011 - 06:11 Titel: |
|
|
Eine Möglichkeit das zu tun gibt es sicherlich. Aber Du beschreibst Dein Problem zu unspezifisch als daß ich dazu was programmieren könnte (oder würde). _________________ "All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies") |
|
Nach oben |
|
 |
kipp •-->

Anmeldedatum: 27.03.2007 Beiträge: 73 Wohnort: Göttingen
|
Verfasst am: 21.07.2011 - 14:53 Titel: |
|
|
Tut mir leid - ich war gestern abend nicht mehr fit, aber das Problem hat mir einfach keine Ruhe gelassen.
Also noch mal von vorne: Ich habe hier eine Liste von Dateien, die fortlaufend ergänzt oder durch neue Dateien mit anderem Index ersetzt werden. Im o.g. Beispiel wird aus der Datei ABC 1.pdf bei der nächsten Aktualisierung so zum Beispiel ABC 2.pdf und irgendwann später bei weiteren Änderungen ABC 3.pdf
Irgendwann wird die Liste ziemlich unübersichtlich, so dass ich gerne die jeweils aktuellste (letzte) Datei farbig markieren würde.
Ich habe das mit Applescript probiert, bekomme aber leider nur die erste Datei gekennzeichnet:
Code: |
set temp to ""
tell application "Finder"
set dateiliste to selection
repeat with datei in dateiliste
set my_name to name of datei
set temp_compare to text 3 thru 1 of my_name
if temp_compare is not temp then tell application "Finder" to set label index of datei to 6 -- grün markieren
set temp to temp_compare
end repeat
end tell
|
Wenn ich den Code so ändere, dann zeigt mir das Skript zwar die älteste Datei grau an, aber dafür alle folgenden Versionen in grün:
Code: |
if temp_compare is temp then
tell application "Finder" to set label index of datei to 6 -- grün markieren
else
tell application "Finder" to set label index of datei to 7 -- grün markieren
end if
|
Meine Vermutung ist, dass sich das nur bewerkstelligen lässt, indem der Dateiname der aktuell bearbeiteten Datei nicht wie oben gezeigt mit dem Namen der letzten, sondern mit der nächsten Datei abgeglichen wird. Das Skript müsste also so ähnlich aussehen:
Code: |
set my_name to name of (NÄCHSTE DATEI IN DER LISTE)
set temp_compare to text 3 thru 1 of my_name
if temp_compare is temp then
tell application "Finder" to set label index of datei to 7 -- grün markieren
else
tell application "Finder" to set label index of datei to 6 -- grün markieren
end if
|
Nur da komme ich leider nicht weiter ...
>>> kipp ;-)
ps Skeeve: kommt der Name eigentlich aus der Dämonen-Reihe? |
|
Nach oben |
|
 |
Skeeve •---->


Anmeldedatum: 20.04.2006 Beiträge: 1067
|
Verfasst am: 21.07.2011 - 21:17 Titel: |
|
|
Bin gerade zu faul zu kommentieren:
Code: | on run
open {choose folder}
end run
on open a_list
repeat with an_item in every item of a_list
if folder of (info for an_item) then
colorize(an_item)
end if
end repeat
end open
to colorize(a_folder)
tell application "Finder"
set all_files to every file of a_folder
set last_file to false
set last_short to false
set last_num to false
repeat with a_file in all_files
set {shorty, zahl} to my short_name(a_file as alias)
if last_file is not false then
if shorty ≠ last_short then
set label index of last_file to 6
set last_file to a_file
set last_num to zahl
set last_short to shorty
else if last_num < zahl then
set last_file to a_file
set last_num to zahl
end if
else
set last_file to a_file
set last_num to zahl
set last_short to shorty
end if
end repeat
if last_file is not false then
set label index of last_file to 6
end if
end tell
end colorize
to short_name(a_file)
set shortname to name of (info for a_file)
set ext to name extension of (info for a_file)
if length of ext > 0 then
set shortname to text 1 thru (-2 - (length of ext)) of shortname
end if
try
set name_num to ""
repeat
set name_num to (text -1 thru -1 of shortname & name_num) as number
set shortname to text 1 thru -2 of shortname
end repeat
end try
return {shortname, name_num}
end short_name |
_________________ "All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies") |
|
Nach oben |
|
 |
kipp •-->

Anmeldedatum: 27.03.2007 Beiträge: 73 Wohnort: Göttingen
|
Verfasst am: 21.07.2011 - 22:24 Titel: |
|
|
kipp hat Folgendes geschrieben: | ps Skeeve: kommt der Name eigentlich aus der Dämonen-Reihe? |
... inzwischen stelle ich mir die Frage gar nicht mehr. Ohne Magik wäre das bestimmt nicht möglich gewesen :-)
Absolut klasse - wieder einmal einen herzlichen Dank, Skeeve! Ich schaue da zwar noch nicht ganz durch, werde mich aber gleich mal in den Code vertiefen - freue mich auf's Herumprobieren und Lernen...
>>> kipp ;-) |
|
Nach oben |
|
 |
Skeeve •---->


Anmeldedatum: 20.04.2006 Beiträge: 1067
|
Verfasst am: 22.07.2011 - 06:34 Titel: |
|
|
kipp hat Folgendes geschrieben: | ps Skeeve: kommt der Name eigentlich aus der Dämonen-Reihe? |
Die Frage habe ich gar nicht gesehen. Ja, Asprin's Dämonenreihe hat es mir angetan. Und nein. Magik war hier nicht dabei. Oder siehst du irgendwo das Wort "perl"  _________________ "All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies") |
|
Nach oben |
|
 |
|