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

Dateinamen vergleichen

 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
kipp
•-->
•-->


Anmeldedatum: 27.03.2007
Beiträge: 73
Wohnort: Göttingen

BeitragVerfasst am: 21.07.2011 - 00:27    Titel: Dateinamen vergleichen Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Skeeve
•---->
•---->


Anmeldedatum: 20.04.2006
Beiträge: 1068

BeitragVerfasst am: 21.07.2011 - 06:11    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
kipp
•-->
•-->


Anmeldedatum: 27.03.2007
Beiträge: 73
Wohnort: Göttingen

BeitragVerfasst am: 21.07.2011 - 14:53    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Skeeve
•---->
•---->


Anmeldedatum: 20.04.2006
Beiträge: 1068

BeitragVerfasst am: 21.07.2011 - 21:17    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
kipp
•-->
•-->


Anmeldedatum: 27.03.2007
Beiträge: 73
Wohnort: Göttingen

BeitragVerfasst am: 21.07.2011 - 22:24    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Skeeve
•---->
•---->


Anmeldedatum: 20.04.2006
Beiträge: 1068

BeitragVerfasst am: 22.07.2011 - 06:34    Titel: Antworten mit Zitat

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" Wink
_________________
"All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies")
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum 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