[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:
(1448 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:
(1447 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:
(1447 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
 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
 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:
(1447 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:
(1447 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:
(1447 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:
(1447 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