[GastForen Programmierung/Entwicklung AppleScript Files anhand der Dateigrösse Farbig markieren

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

Files anhand der Dateigrösse Farbig markieren

Anonym
Beiträge gesamt: 22827

19. Jan 2007, 22:48
Beitrag # 1 von 7
Bewertung:
(1466 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

Im Ordner Vergleichsdaten liegt eine Datei "Referenzgroesse.jpg" mit einer Größe von 264.626 KB
sowie weitere Dateien mit exakt gleicher Größe oder >  ( z.B. 264.782KB) aber Nie kleiner!

Nun sollten alle Dateien die > als 264.626KB sind farbig markiert werden.

Im Ordner sehe ich nur eine aufgerundete Größe 264KB,
unter Dateiinfo ist die exakte Größe sichtbar.

Kann dieser kleine Unterschied per Script erkannt werden?

Gruss und Danke
willem
X

Files anhand der Dateigrösse Farbig markieren

Hans Haesler
  
Beiträge gesamt: 5826

20. Jan 2007, 05:55
Beitrag # 2 von 7
Beitrag ID: #421453
Bewertung:
(1465 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

ja, das ist per Script möglich.

Aber ich muss in zehn Minuten los: Nach Bern fahren zur Redaktionssitzung
der "Fachhefte grafische Industrie" http://www.fachhefte.ch

Ich kann deshalb erst heute Abend dieses Script entwickeln.

Gruss, Hans


als Antwort auf: [#421452]

Files anhand der Dateigrösse Farbig markieren

Hans Haesler
  
Beiträge gesamt: 5826

20. Jan 2007, 21:20
Beitrag # 3 von 7
Beitrag ID: #421454
Bewertung:
(1465 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

hier sind zwei Möglichkeiten (von mehreren).

Beide Scripts als Applikationen sichern. Das erste wird per Doppelklick
gestartet. Ein Dialog fordert auf, die Referenzdatei auszuwählen.
Code
  1. set refFile to (choose file with prompt "Die Referenz-Datei auswählen") as Unicode text
    tell application "Finder" to activate
    tell application "Finder" to set targetFolder to (container of file refFile) as Unicode text
    tell application "Finder" to open folder targetFolder
    set refSize to size of (info for file refFile)
    set fileList to list folder targetFolder without invisibles
    repeat with i from 1 to count of fileList
      set curName to item i of fileList
      set curFile to targetFolder & curName
      set curSize to size of (info for file curFile)
      if curSize is greater than refSize then
        tell application "Finder" to set label index of file curFile to 2
      else if curSize is less than refSize then
        tell application "Finder" to set label index of file curFile to 6
      end if
    end repeat


Dateien, deren Anzahl Bytes grösser ist, als jene der Referenzdatei, werden
rot eingefärbt. Falls sich "leichtere" im Ordner befinden, werden diese
grün bezeichnet.

Das zweite Script ist ein Droplet. Die Referenzdatei auf sein Icon ziehen.
Code
  1. on open fileList
      set refFile to (item 1 of fileList) as Unicode text
      set fileInfo to (info for file refFile)
      if folder of fileInfo is false then
        set refSize to size of (info for file refFile)
      else
        display dialog "Das war ein Ordner." buttons "OK" default button 1 with icon 0
        error number -128
      end if
      tell application "Finder" to set targetFolder to (container of file refFile) as Unicode text
      set fileList to list folder targetFolder without invisibles
      repeat with i from 1 to count of fileList
        set curName to item i of fileList
        set curFile to targetFolder & curName
        set curSize to size of (info for file curFile)
        if curSize is greater than refSize then
          tell application "Finder" to set label index of file curFile to 2
        else if curSize is less than refSize then
          tell application "Finder" to set label index of file curFile to 6
        end if
      end repeat
    end open

Wetten, dass Du diese zweite Lösung bevorzugen wirst? ;-)

Gruss, Hans


als Antwort auf: [#421452]

Files anhand der Dateigrösse Farbig markieren

Anonym
Beiträge gesamt: 22827

20. Jan 2007, 21:52
Beitrag # 4 von 7
Beitrag ID: #421455
Bewertung:
(1465 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

... Wette gewonnen, die 2. Lösung ist die bequemere

Danke Dir

Gruss willem


als Antwort auf: [#421452]

Files anhand der Dateigrösse Farbig markieren

Hans Haesler
  
Beiträge gesamt: 5826

20. Jan 2007, 22:03
Beitrag # 5 von 7
Beitrag ID: #421456
Bewertung:
(1465 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

bitteschön.

Nachzutragen ist noch, dass die Referenzdatei weder mit Namen noch
mit Anzahl Bytes im Script-Code eingetragen ist. Dadurch wird möglich,
eine beliebige Datei als Referenz zu bezeichnen.

Gruss, Hans


als Antwort auf: [#421452]

Files anhand der Dateigrösse Farbig markieren

Anonym
Beiträge gesamt: 22827

21. Jan 2007, 09:26
Beitrag # 6 von 7
Beitrag ID: #421457
Bewertung:
(1465 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

ich will Dich nicht quälen aber :-)
jetzt wäre es noch Super, wenn die Fehlerhaften in einen "Fehler" Ordner verschoben würden.

Gruss willem


als Antwort auf: [#421452]

Files anhand der Dateigrösse Farbig markieren

Hans Haesler
  
Beiträge gesamt: 5826

21. Jan 2007, 10:31
Beitrag # 7 von 7
Beitrag ID: #421458
Bewertung:
(1465 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

kein Problem. Ich vermute, dass den Dateien keine Etikettenfarbe mehr
zugewiesen werden muss.

Wie immer gilt: Der Zielordner muss nur beim ersten Ausführen gewählt werden.
Danach ist der Pfad gespeichert und der Dialog erscheint erst wieder, wenn
der Ordner umbennant oder verschoben worden ist.
---
property noGoodFolder : ""

on open fileList
   if noGoodFolder is "" then
      set noGoodFolder to (choose folder with prompt ¬
         "Den Ordner für die fehlerhaften Dateien auswählen.") as Unicode text
   [color=#0000FF]else
      try

         alias[/color] noGoodFolder
      on [color=#0000FF]error
         set
[/color] noGoodFolder to (choose folder with prompt ¬
            "Den Ordner für die fehlerhaften Dateien auswählen.") as [color=#0000FF]Unicode text
      end try
   end if
   set
[/color] refFile to (item 1 of fileList) as [color=#0000FF]Unicode text
   set[/color] fileInfo to (info for file refFile)
   if folder of fileInfo is false then
      set refSize to size of (info for file refFile)
   else
      display dialog "Das war ein Ordner." buttons "OK" default button 1 with icon 0
      error number -128
   end if
   tell application "Finder" to set targetFolder to (container of file refFile) as Unicode text
   set fileList to list folder targetFolder without invisibles
   repeat with i from 1 to count of fileList
      set curName to item i of fileList
      set curFile to targetFolder & curName
      set curSize to size of (info for file curFile)
      if curSize is greater than refSize then
         try
            tell application "Finder" to move file curFile to folder noGoodFolder
         end try
      else if curSize is less than refSize then
         tell application "Finder" to set label index of file curFile to 6
      end if
   end repeat
end open
---
Gruss, Hans


als Antwort auf: [#421452]
X