1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Wir danken allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben.

AppleScript X Frage - NEU: Loesung!

Dieses Thema im Forum "Hardware" wurde erstellt von Harlekin, 17. März 2002.

  1. Olley

    Olley Gast

    @ harlekin,
    ......
    select startup disk
    open selection
    ........
    versuch das mal
    Olley
     
  2. tazmandevil

    tazmandevil New Member

    Da ist ausserdem nochwas, vielleicht genügt es, einfach nur ein "Finder" Window zu öffnen.... wenn Du in den Finder-Einstellungen den Knopf "Computer öffnen" (statt Ordner öffnen) einstellst, gehts vielleicht!

    Gute Nacht, allerseits!
     
  3. Lorenz Wieland

    Lorenz Wieland New Member

    Hallo,

    nachfolgend findest Du ein Script, das Dir die Platten ausliest und falls irgendwo vorhanden, den Pfad zu einer bestimmten Datei zurück gibt. Du kannst auch an der Stelle, wo Du einsteigen willst, den Feinder anweisen, das Fundstück (ob disk,Ordner, Unterordner oder Datei)zu öffnen (z.B. open disk Pladde) Das Script ginge auch kürzer, außerdem sind log enthalten um den Vorgang nachzuvollziehen. Vielleicht steckt da die Lösung für Dich drin.

    Gruß Lorenz
    ---------
    --habe eine bekannt Datei in bekanntem Ordner u. Unterordner auf 1. Ebene auf unbekannter Pladde
    --, falls dummerweise auf 2 Pladden vorhanden wird die 1. Fundstelle gewählt, bei einer Pladde ist der Weg klar
    --läuft unter OS 9 und X
    set Suchdatei to "Testdatei"
    set UnterUnterOrdnerInOAE to "Formate"
    set UnterordnerInOAE to "Musterkoffer"
    set OrdnerAufErsterEbeneIstOAE to "Firma"
    ------
    tell application "Finder"
    --activate
    set Pladdenzahl to count disks
    set Pladdenliste to name of disks
    if Pladdenzahl > 1 then
    repeat with i in Pladdenliste
    set Pladde to get i as string
    if folder OrdnerAufErsterEbeneIstOAE of disk Pladde exists then
    if local volume of disk Pladde is true then --prüft ob kein Server-Volume
    if folder UnterordnerInOAE of folder OrdnerAufErsterEbeneIstOAE of disk Pladde exists then
    set Dateigefunden to file Suchdatei of folder UnterUnterOrdnerInOAE of folder UnterordnerInOAE of folder OrdnerAufErsterEbeneIstOAE of disk Pladde
    if Dateigefunden exists then
    set bb to get Dateigefunden as string
    log the result
    end if
    exit repeat
    end if
    end if
    end if
    end repeat
    else
    set checkelse to "ElseSprung"
    log the result
    --wenn nur eine Pladde drin, folgt dies
    set Dateigefunden to file Suchdatei of folder UnterUnterOrdnerInOAE of folder UnterordnerInOAE of folder OrdnerAufErsterEbeneIstOAE of startup disk as string
    set bb to get Dateigefunden as string
    log the result
    end if
    end tell
    --> bb liefert den Pfad zur Datei, open file bb öffnet diese dann...
     
  4. Harlekin

    Harlekin Gast

    Also, das folgende Script z.B. funktioniert so,

    tell application "Finder"
    activate
    select desktop
    open selection
    end tell

    aber es werden die Finder Einstellungen "Neues Fenster im Finder zeigt "Computer"" ignoriert und stattdessen "Home" (also Verzeichnis Benutzername) geoeffnet.
    Entweder ist dies ein Fehler in AppleScript oder es muss noch einen spezifischen Pfad zu "Computer" geben, welchen man bei "select" angeben muss (Trotz Voreinstellung im Finder).

    .
     
  5. Olley

    Olley Gast

    hi,
    ich habe jetzt auch noch einiges ausprobiert und versucht auf der adc-seite und anderen as-seiten was zu finden. aber es war alles erfolglos. falls doch noch einer eine lösung findet sollte er sie hier posten. denn bei vielen scripts ist man auf die oberste ebene der maschine angewiesen.
    Olley
     
  6. Lorenz Wieland

    Lorenz Wieland New Member

    Vielleicht genügt Dir dies:

    tell application "Finder"
    open container of startup disk
    end tell

    Da öffnet der Finder ein Fenster mit allen Platten drin

    Gruß Lorenz
     
  7. tazmandevil

    tazmandevil New Member

    *WOW* :)

    GRATULIERE! (er hats gefunden!) :)
     
  8. Harlekin

    Harlekin Gast

    Servus, dachte zuerst Dein Tip ist die Loesung, ABER:

    es oeffnet sich zwar ein (Finder-) Fenster mit den Platten, dieses ist jedoch nicht das selbe wie die oberste Ebene "Computer", auch wenns fast so aussieht.

    1. Es ist ein eigenstaendiges Fenster, z.B. daran zu erkennen, dass es eigene Groesse und Position Parameter hat.

    2. Es fehlt die "Netzwerk" Weltkugel

    Drueckt man in diesem Fenster oben auf "Computer", kommt man zu der gewollten Ebene.

    Du warst nah drann . . .

    .
     
  9. tazmandevil

    tazmandevil New Member

    stimmt!

    Allerdings @Harlekin ist Dein Problem ja dadurch ausreichend gelöst! Oder nicht? Du schriebst nichts davon, dass Du das Netzvolume auch noch drin haben willst! die "oberste Ebene" des computers ist immer noch "/" und der gekünstelte Computer des Finders ist an sich ein spezieller Navigationsdienst, der nicht eine Verzeichnisebene repräsentiert!

    Näme mich natürlich auch wunder, wie man den aufruft!
     
  10. Harlekin

    Harlekin Gast

    Experimentiere gerade damit rum, einige Ungereimtheiten sind noch offen.

    Die Fenster Groesse und Position werden nicht behalten.
    Das Fenster hat keinen Pfad (leer).
    Oeffnet man allerdings eine der Platten, ensteht der Pfad zu "Computer"
    Hat man "Computer" (Original) bereits offen, hat man dann auf einmal 2 Fenster der obersten Ebene offen (???)

    Ich glaube auf Grundlage dieses Scripts muss sich irgendwie die saubere Loesung programmieren lassen, vielleicht muss man Container noch benennen, z.B. mit dem Namen des Computers.

    Testen . . .

    .
     
  11. Lorenz Wieland

    Lorenz Wieland New Member

    Manches geht auch ohne nähere Bezeichnung. Z.B wenn man den Netwerkordner öffnen will reicht:

    tell application "Finder"
    open "Network"
    end tell
     
  12. Harlekin

    Harlekin Gast

    Also mir ist noch folgendes aufgefallen:

    Ist man im Finder und es ist nichts geoeffnet, kann man ja uber die Tastenkombination

    (gehe zu) alt - ctrl - c

    auf besagte oberste Ebene "Computer" gelangen (im originaeren Fenster "Computer"),
    genauso wie zu "Privat", "Programmen", etc.

    Demnach muesste sich doch diese Funktion auch in AppleScript darstellen lassen.

    Vielleicht haben wir den falschen Ansatz versucht ("select" etc.) und es gibt eine Moeglichkeit im Finder einfach per Script die Tastenkombination anzuwenden.

    .
     
  13. Harlekin

    Harlekin Gast

    Das folgende funktioniert:

    tell application "Finder" to open container of home

    statt "home" wird aber "computer" nicht akzeptiert

    Meiner Meinung nach weiterhin eine Frage der Syntax. OS X benennt "computer" intern moeglicherweise anders.

    .
     
  14. Harlekin

    Harlekin Gast

    LOESUNG (endlich!) fuer den ersten Teil des Scripts:
    Die gesuchte Syntax lautet:
    make Finder window

    Das Script koennte also so aussehen:

    tell application "Finder"
    activate
    set visible of every process whose visible is true to false
    close every window
    make Finder window
    end tell

    So weit, so gut.
    Jetzt fehlt noch der zweite Teil des Scripts, dieser soll eine Festplatte in dem bereits geoeffneten Fenster oeffnen, also NICHT in einem eigenen Fenster wie bei
    open "Name der Festplatte"

    Mit dem folgenden laesst sich die Festplatte zwar in dem geoeffneten Fenster selektieren, aber wie gesagt, fuegt man dann open ein, geht ein eigenes Fenster auf.

    tell application "Finder"
    activate
    set visible of every process whose visible is true to false
    close every window
    make Finder window
    select "Name der Festplatte"
    end tell

    Wer kennt dafuer die korrekte Anweisung?

    .
     
  15. Harlekin

    Harlekin Gast

    Habe jetzt d
     
  16. MACqueen

    MACqueen New Member

    wov!, klappt super :)

     
  17. Harlekin

    Harlekin Gast

    Habe jetzt d
     
  18. MACqueen

    MACqueen New Member

    wov!, klappt super :)

     

Diese Seite empfehlen