• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Mit Automator einen bestimmten Ordner schliessen?

Apfelsaft_trüb

Ingrid Marie
Registriert
25.03.09
Beiträge
269
Hallo,
kurz:
ich möchte gerne im Automator, dass ein bestimmter Ordner geschlossen wird.

Lang:
Ich habe auf dem Desktop mehrere Finder Fenster offen, mit Fokus auf verschiedenen Ordnern.

Nun möchte ich, dass ein bestimmtes Finder Fenster (also das mit dem Ordner, den ich nicht mehr brauche) geschlossen wird. (Das Finder Fenster ist nicht immer im Vordergrund, falls das wichtig ist.)

Im Netz finde ich bei meiner Suche nur das Beenden von Programmen, aber ich möchte den Finder ja nicht beenden, sondern nur ein geöffnetes Fenster von ihm schliessen.

Jemand ne Idee?
 
Zuletzt bearbeitet:

sedna

Galloway Pepping
Registriert
22.10.08
Beiträge
1.359
Hallo,

Aktion AppleScript ausführen
Code:
tell application "Finder"
set x to get every window whose name is "ABC"
close x
end tell

Gruß
 
  • Like
Reaktionen: Apfelsaft_trüb

Apfelsaft_trüb

Ingrid Marie
Registriert
25.03.09
Beiträge
269
Hey Danke, das war schnell und hilfreich! (und funktioniert auf Anhieb)

Allerdings habe ich mein Anliegen nicht fein genug erwähnt, wie mir beim anwenden auffällt.

Es sind nämlich zwei Fenster offen, die auf den gleichen Ordnername zeigen, beide haben aber einen anderen Pfad.
Ich habe hierzu im Netz aber schon einige Ansätze gefunden und versuche mein Gück einmal.
Vielen Dank nochmal.
 

sedna

Galloway Pepping
Registriert
22.10.08
Beiträge
1.359
Hallo,

falls du zu keinen Ergebnissen kommst, kannst du ja den Spoiler lesen :)

Gruß

Beispiel: ein Ordner "ABC" befindet sich in Dokumente, ein anderer z.B. auf dem Schreibtisch:

tell application "Finder"
repeat with i from 1 to count of windows
--get target of window i
if name of window i is "ABC" and target of window i is folder "ABC" of folder "Documents" of home then close window i
end repeat
end
tell

Mit get target of window i kannst du -falls nötig- die Pfade der offenen Fenster nachprüfen
 
  • Like
Reaktionen: Apfelsaft_trüb

Apfelsaft_trüb

Ingrid Marie
Registriert
25.03.09
Beiträge
269
Hey Danke sedna :)

In der Tat sind meine Versuche nicht so erfolgreich gewesen, wie ich erhofft hatte...

Dein Spoiler ist auch in etwa so aufgebaut, wie ich es mir zusammengedacht hatte. Vielen Dank also für Deine Vorab-Hilfe !

Interessanterweise bekomme ich folgende Fehlermeldung, wenn das zu schliessende Fenster nicht im Vordergrund ist:

"„Finder“ hat einen Fehler erhalten: „window 2“ kann nicht gelesen werden."

Die Meldung kommt, nachdem das entsprechende Fenster geschlossen wurde.

(Wenn ich 3 oder mehr Finder Fenster geöffnet habe, ändert sich die obige Fehlermedung entsprechend in der Nummer hinter "window")

Hast Du eine Idee, was der Auslöser hier sein könnte?

P.S.
Ich vermute aus dem Bauch heraus, dass die Anzahl der Fenster in der Variabe i nun nicht mehr zu den tatsächlichen geöffneten Finder Fenstern passt, aber wat weiss ich schon... ich kann Fehler finden, nicht aber beheben :cool:
 

sedna

Galloway Pepping
Registriert
22.10.08
Beiträge
1.359
Hmm ja klar, daran habe ich nicht gedacht!
Bin nicht am Mac, aber ein try Block um die if Bedingung sollte Abhilfe schaffen! Dann könnte man auch die Abfage des Namens streichen. ungetestet:

tell application "Finder"
repeat with i from 1 to count of windows
try
if
target of window i is folder "ABC" of folder "Documents" of home then close window i
end try
end repeat
end
tell
 
Zuletzt bearbeitet:

Apfelsaft_trüb

Ingrid Marie
Registriert
25.03.09
Beiträge
269
try und end try.
Spannender Lösungsansatz :)

Danke, das klappt natürlich, weil sich die repeat-Schleife nach dem ersten Fehler ausklinkt.

Das reicht mir für mein Vorhaben völlig.

Es würden nun zwar keine zwei Fenster mehr geschlossen werden, die denselben Pfad zum Ordner "ABC" haben, aber dieses Szenario kommt so gut wie nicht vor, ergo möchte ich meine Zeit nun nicht mit einer Schleife verwenden, die, bei erfolgreichem Fensterschliessen, wieder neu beginnt die offenen Fenster zu zählen :)

Sei also herzlich bedankt für Deinen super Tipp und die Vorlagen!
 

sedna

Galloway Pepping
Registriert
22.10.08
Beiträge
1.359
Hallo,

danke für die netten Worte ..
ja, mehrere Fenster mit demselben Pfad ... da sich mit jedem Schließen eines Fensters ja die Nummern der noch offenen Fenster ändern, könnte man das z.B. mit einer "mit-wachsenden" Variable abfangen. Ob das eleganter geht, weiß ich nicht.

Gruß

Code:
tell application "Finder"
    set n to 0
    repeat with i from 1 to count of windows
        set i to i - n
        if i ≤ 0 then set i to 1
        try
            if target of window i is folder "ABC" of folder "Documents" of home then
                close window i
                set n to n + 1
            end if
        end try
    end repeat
end tell
 
  • Like
Reaktionen: Apfelsaft_trüb

Pill

Adams Parmäne
Registriert
07.07.12
Beiträge
1.310
Hallo,

Code:
tell application "Finder"
   set theTarget to folder "Test" of desktop
   repeat with aWindow in (get windows)
       if target of aWindow is theTarget then
           close aWindow
       end if
   end repeat
end tell
 
  • Like
Reaktionen: Apfelsaft_trüb

sedna

Galloway Pepping
Registriert
22.10.08
Beiträge
1.359
Hallo,

ohne es getestet zu haben:
das sieht sehr plausibel und wesentlich eleganter aus :)

Gruß
 

Apfelsaft_trüb

Ingrid Marie
Registriert
25.03.09
Beiträge
269
Phänomenal, was man alles aus so einer anfänglichen Idee und dem Coding herausholen kann :)
Danke Euch beiden, für die vielen Beispiele, hier habe ich viel lernen können!

Das schöne beim Automator/AppleScript ist ja, das man auch Aktionen deaktivieren kann, sie aber dennoch im Workflow enthalten bleiben. Das -und meine Kommentare vom Coding- wird mir helfen, beim nächsten Mal zu verstehen, was wieso warum wie funktioniert.

Ich bedanke mich noch einmal!