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

Finderaktion beim markieren, öffnen eines Ordners im Finder

 
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
TommyC
•->
•->


Anmeldedatum: 14.03.2007
Beiträge: 18

BeitragVerfasst am: 15.03.2007 - 14:33    Titel: Finderaktion beim markieren, öffnen eines Ordners im Finder Antworten mit Zitat

Hallo.

Ist es möglich eine Aktion auszulösen, alleine durch die Markierung von einem bestimmten Ordner bzw. auch allen darunter liegenden?

Ich möchte den Gesamten Pfad des markierten Ordner in die Zwischenablage kopieren.

Ich schaffe es nicht die Aktion auszulösen.

Mein Script:

property TempPfad : ""
tell application "Finder"
activate
-- Pfad des markierten Ordners als Variable speichern
set the clipboard to (folder of the front window)
-- Pfad des markierten Ordners in den Zwischenspeicher laden
set the clipboard to TempPfad
display dialog "> " & TempPfad & " < " buttons {"OK"} giving up after 2
end tell
_________________
OS 10.11
MacMini DC2 2000MB.
Mac Mini Server QC 2300, 16GB
iPhone 4, 5
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 15.03.2007 - 16:14    Titel: Re: Finderaktion beim markieren, öffnen eines Ordners im Fin Antworten mit Zitat

TommyC hat Folgendes geschrieben:
Ist es möglich eine Aktion auszulösen, alleine durch die Markierung von einem bestimmten Ordner bzw. auch allen darunter liegenden?

Wenn das Auslösen das Problem ist, leg dir das Script doch in die Funktionsleiste des Finders, dann ist's immer nur einen Klick entfernt. Oder mit FastScript Lite auf Taste legen.
TommyC hat Folgendes geschrieben:
...
set the clipboard to (folder of the front window)
-- Pfad des markierten Ordners in den Zwischenspeicher laden
set the clipboard to TempPfad
...

So geht's ja nicht. Du schreibst ja zweimal etwas unterschiedliches ins clipboard. So sollte es funzen, wenn es das ist, was du dir vorstellst?:
property TempPfad : ""
tell application "Finder"
   activate
   -- Pfad des markierten Ordners als Variable speichern
   set TempPfad to (folder of front window) as text
   -- Pfad des markierten Ordners in den Zwischenspeicher laden
   set the clipboard to TempPfad
   display dialog "> " & TempPfad & " < " buttons {"OK"} giving up after 2
end tell

Pfad des markierten Ordners, oder des geöffneten Ordners????
_________________
- anholn deit kriegen -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
TommyC
•->
•->


Anmeldedatum: 14.03.2007
Beiträge: 18

BeitragVerfasst am: 16.03.2007 - 19:35    Titel: Antworten mit Zitat

Hallo.
Danke für die Korrektur meines scriptes.
Jetzt tut es endlich was es soll.

Jetzt habe ich Fragen zur Property Variablen.
- Zwei Scripte, A und B, beide identsch, wenn ich beide nacheinander starte, fangen beide bei Null an. Bei dieser Erscheinung gehe ich davon aus, dass jedes Script eigene Variablen Verarbeitet.
Stimmt es?

Sollte dies zutreffen habe ich ein Problem. (Wer hat keine?)
Ein Ordneraktions Script fängt mit z.B. "on open" an.

Gibt es eine Möglichkeit so ein Script zusätzlich manuell zu starten?
Das ganze hängt ja mit den Property Variablen zusammen.
Wenn die Ordneraktion den ersten pat übernimmt, muss ich noch beim verlassen nur noch ein mall cklicken.

Danke im voraus.
_________________
OS 10.11
MacMini DC2 2000MB.
Mac Mini Server QC 2300, 16GB
iPhone 4, 5
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 17.03.2007 - 16:19    Titel: Antworten mit Zitat

TommyC hat Folgendes geschrieben:
Danke für die Korrektur meines scriptes.
keine ursache
TommyC hat Folgendes geschrieben:
Jetzt habe ich Fragen zur Property Variablen.
- Zwei Scripte, A und B, beide identsch, wenn ich beide nacheinander starte, fangen beide bei Null an. Bei dieser Erscheinung gehe ich davon aus, dass jedes Script eigene Variablen Verarbeitet.
warum sollte es auch anders sein? wäre ja schrecklich. wenn du's anders willst, musst du selbst etwas dafür tun. und das ist gut so. schau dich doch mal in snow's workshops um (links sind hier rechts) unter "variablen" und "handler" und vielleicht "droplet/applet" für die startteil-frage.
TommyC hat Folgendes geschrieben:
Gibt es eine Möglichkeit ... nur noch ein mall cklicken.
Habe noch nicht ganz verstanden, was du vor hast. vielleicht versuchst du noch mal dein vorhaben klar zu formulieren, dann findet sich vielleicht auch ein völlig anderer weg, als der eingeschlagene. ich hab z.b. nicht verstanden, ob der pfad des offenen finderfensters übernommen werden soll, oder der des selektierten ordners darin. ???
_________________
- anholn deit kriegen -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
TommyC
•->
•->


Anmeldedatum: 14.03.2007
Beiträge: 18

BeitragVerfasst am: 18.03.2007 - 01:12    Titel: Antworten mit Zitat

Hallo iScript

Danke für die Antwort.
Bezüglich A und B Scripts in Verbidung mit Proprty Variablen.
Diesbezüglich bin ich deiner Meinung, finde es aber schade dass es nicht möglich ist, mit einer speziellen Funktion diese von Zwei Seiten anzusprechen.

Seit sieben Monaten bin ich stolzer Vater eines Minis, deshalb klaffen bei mir noch große Wissenslücken im AS.
Mangelnde Infos zum Projekt haben nicht gerade zur Lösung beigetragen,
es ist eigentlich das, was ich auch hasse. Sorry an diese Stelle. Embarassed

Jetzt möchte dir mal schildern, was ich vor hab.
Kurz zum Geburtsort dieser Kontroversen Idee.
Ich habe einen Windof Rechner. Auf dem Läuft T.N.T. Win, ein MC-Klon oder "Xfolders". Der hat die Eigenschaft sich den letzten Standpunkt für jedes Laufwerk zu Merken. TNT ist den Anderen MC-Nachbildungen Lichtjahre voraus, weil er mit Zwei Unabhängigen Fenstern arbeitet, so kann man sich das Fenster Rechts oder Links platzieren, wie gerade gewünscht wird. Das ganze mit all den Funktionen die auch Xfolders hat. Eine Leiste am Oberen oder Unteren Bildschirmrand hat alle Laufwerke und Über diese Leiste werden diese Angesteuert.

Nun. Ich versuche eine Lösung zu finden, die es möglich macht den jeweils letzten Standort eines aktiven Ordners für Jeden Mountpunkt zu Speichern, und bei Laufwerkswechsel auch automatisch wieder dahin zu springen.

Trotz der genialen Spaltendarstellung im Finder ist es stressig ständig in die 7te oder 8te Ebene sich durchzuklicken. Sybolik links gibt es auch noch könnte man meinen, aber die helfen auch nicht wirklich bei den Großen Datenmengen.
Knapp 2,5 TB sind auf 15 HDDs verteilt. Einiges davon dient als Speicher für meine TV Aufnahmen. Benutze nämlich 2 Win PCs als Recorder. Den Gesamten Datenbestand verwaltet Mac weil er es kann, im Gegensatz zu Win.

Frage:
Warum Funktionieren Angehängte Ordneraktionen nicht immer.
Nach einer Änderung des scriptes funktioniert es nicht mehr.
Nach einigen Versuchen Ordneraktion anhängen, deaktivieren, aktivieren geht es wieder. Irgend wie nicht ganz zuverlässig das ganze, und kein Dunst warum.

Ein Script das läuft lege ich bei.
Der Unterschied der beiden ist, der Eine liest, der Andere schreibt. Hier habe ich mich für die Text-Speicher-Methode entschieden, ist aber nicht zwingend.

Meine Strategie: (Noch graue Theorie)
Betrete Laufwerk MacHD, solange ich mich in diesem Laufwerk bewege wird mein Aufenthaltsort ständig aktualisiert und gespeichert
Betrete Ich Laufwerk Musik, wird der zuvor gespeicherte Pfad für Musik gelesen und der Betreffende Ordner markiert, ich bewege mich wieder im gleichen Laufwerk, es wird wieder und wieder gespeichert. Das ganze mit allen Laufwerken bis der Arzt kommt.

Info:
Das Script beinhaltet alle Komponenten, sie werden nur nicht angesprochen.
- Mountpunkt eintragen
- Pfad zur Speicherung der Texte ändern.

Mein Script:

-- Funktionen
global SPK, WER, MSG, MSG1, MSG2, TON

-- Laufwerke
global Temp, Mount, PFAD, DateiInhalt

-- Temp Variablen
global DISC01, DISC02, DISC03, DISC04, DISC05, DISC06, DISC07, DISC08, DISC09, DISC10 --DISC11
global ARRAY01, TAUSCH01, TAUSCH02 -- TAUSCH03

-- Mounts
global INT01, EXT01, EXT02, EXT03, EXT04, EXT05, EXT06, EXT07, EXT08, EXT09, EXT10 -- EXT11
global TMP01, TMP02, TMP03 --TMP04

---------------------------------------------------------------------------------------------
-- Pfad zur Speicherung der Textdateien
set PFAD to "Users:tom:SCRIPTS:FINDER_TEMP:"
---------------------------------------------------------------------------------------------
--Mountpunkte (eintagen, Texte werden beim schreiben gebildet)
set INT01 to "Mac HD"
set EXT01 to "MICKY160"
set EXT02 to "AppleDisc"
set EXT03 to "MUSIC ONE"
set EXT04 to "MUSIC TWO"
set EXT05 to "DOWNLOAD"
set EXT06 to "FOTO"
set EXT07 to "Record1"
set EXT08 to "Record2"
set EXT09 to "Schnitt"
set EXT10 to "Lager"
--set EXT11 to ""
set TMP01 to "OSX_Backup"
set TMP02 to "Tausch-160"
set TMP03 to "GREEN"
--set TMP04 to ""
----------------------------------------------------------------------------------------------
-- Mountpunktnamen = Textdateinamen
set Temp to ""
set DISC01 to EXT01
set DISC02 to EXT02
set DISC03 to EXT03
set DISC04 to EXT04
set DISC05 to EXT05
set DISC06 to EXT06
set DISC07 to EXT07
set DISC08 to EXT08
set DISC09 to EXT09
set DISC10 to EXT10
--set DISC11 to EXT11
set ARRAY01 to TMP01
set TAUSCH01 to TMP02
set TAUSCH02 to TMP03
--set TAUSCH03 to TMP04
----------------------------------------------------------------------------------------------
-- Sprachausgabe
set TON to 1
set SPK to false
set MSG2 to "Restored "
--set MSG2 to "Saved "
set WER to "Vicky"
-- ===================================================
-- Aufgehts
--on opening folder {}
my LWCHECK()
my LWTEMP()
my LESEN()
--my SCHREIBEN()
my MARKIEREN()
my SPRACHE()
--end opening folder
-- ===================================================

-- Standortbestimmung
on LWCHECK()
tell application "Finder"
activate
-- PFAD des markierten Ordners als Variable speichern
set Temp to (folder of the front window) as text

--Aus Aktuellen PFAD den MOUNTpunkt extrachieren
set AppleScript's text item delimiters to ":"
set Mount to text item 1 of Temp
set AppleScript's text item delimiters to ""
end tell
end LWCHECK
----------------------------------------------------------------------------------------------
-- Speichern des aktuellen Ordners in der VARI des Laufwerks
on LWTEMP()
if Mount is INT01 then set DISC01 to Temp
if Mount is EXT01 then set DISC02 to Temp
if Mount is EXT02 then set DISC03 to Temp
if Mount is EXT03 then set DISC04 to Temp
if Mount is EXT04 then set DISC05 to Temp
if Mount is EXT05 then set DISC06 to Temp
if Mount is EXT06 then set DISC07 to Temp
if Mount is EXT07 then set DISC08 to Temp
if Mount is EXT08 then set DISC09 to Temp
if Mount is EXT09 then set DISC10 to Temp
if Mount is EXT10 then set DISC11 to Temp
-- if Mount is EXT11 then set DISSC6 to Temp
if Mount is TMP01 then set ARRAY01 to Temp
if Mount is TMP02 then set TAUSCH01 to Temp
if Mount is TMP03 then set TAUSCH02 to Temp
-- if Mount is TMP04 then set TAUSCH03 to Temp
end LWTEMP
----------------------------------------------------------------------------------------------
-- Lesen des Dateiinhaltes
on LESEN()
set DATPFAD to PFAD & "LW_" & Mount
try
--PFAD zur Datei
set TextFile to (DATPFAD)
-- öffnen der Datei, Step1: Referenznummer holen
set DatRefNum to (open for access TextFile)
--Inhalt auslesen mittels Referenznummer
set DateiInhalt to (read DatRefNum)
close DatRefNum
on error
close DatRefNum
end try
end LESEN
----------------------------------------------------------------------------------------------
on SCHREIBEN()
--display dialog DATPFAD buttons {"OK"} default button 1
set DATPFAD to PFAD & "LW_" & Mount
--display dialog DATPFAD buttons {"OK"} default button 1

-- Dateizugriff
set RefNum to (open for access file ¬
DATPFAD with write permission)
try
-- Inhalt der Datei Löschen
set eof of RefNum to 0
--Kompletten Pfad für das Laufwerk schreiben
write Temp to RefNum
close access RefNum
on error
close access RefNum
end try
end SCHREIBEN
----------------------------------------------------------------------------------------------
-- Markiren des Gelesenen Ordners
on MARKIEREN()
tell application "Finder"
activate
-- Zum letzten aktuellen Ordner des Laufwerks gehen
set target of Finder window 1 to DateiInhalt
end tell
end MARKIEREN
----------------------------------------------------------------------------------------------
-- Sprachausgabe starten
on SPRACHE()
if SPK then
my NACHRICHT()
else
my DINGDONG()
end if
end SPRACHE
----------------------------------------------------------------------------------------------
-- Sprachausgabe
on NACHRICHT()
say MSG2 using WER
end NACHRICHT
----------------------------------------------------------------------------------------------
-- Beep
on DINGDONG()
beep TON
end DINGDONG
----------------------------------------------------------------------------------------------
_________________
OS 10.11
MacMini DC2 2000MB.
Mac Mini Server QC 2300, 16GB
iPhone 4, 5
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 19.03.2007 - 17:33    Titel: Antworten mit Zitat

Wenn ich deinen Wunsch recht verstehe, dann solltest du dir vielleicht mal DefaultFolder anschauen. Ich ahne, das dass genau das ist, was du dir wünscht. Bin leider noch nicht dazu gekommen, mir dein Script anzuschauen, deshalb erst mal dieser Vorschlag auf die Schnelle.
Das Programm ist top, kostet allerdings so $35. Es gehört zu den Programmen, auf die man ganz schnell nie wieder verzichten kann. Ehrenwort.
_________________
- anholn deit kriegen -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 19.03.2007 - 17:41    Titel: Antworten mit Zitat

BEISPIEL: Du zündest einen Speichern-Dialog. Dann wird dir per Default der zuletzt benutzte Speicherort des Programms angeboten.
Oder: Du hast im Finder 4 Fenster offen, und befindest dich jetzt in einem Programm, aus dem Du speichern willst. Dann kannst Du direkt aus dem Speichern-Dialog heraus auf einen dieser 4 Ordner klicken (durch das Vordergrund-Fenster hindurch!), und zack, wird dieser Ordner als Speicherort in den Speicher-Dialog übernommen (ein Klick!). Wie gesagt, man will's ganz schnell nie mehr missen.
_________________
- anholn deit kriegen -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
TommyC
•->
•->


Anmeldedatum: 14.03.2007
Beiträge: 18

BeitragVerfasst am: 19.03.2007 - 21:51    Titel: Antworten mit Zitat

Danke für Anregungen und Vorschläge.
DefaultFolder X kenne ich bereits. Es ist nicht wirklich das was ich suche.

Momentan Arbeite ich mit zwei scripts, Script A. Liest den Pfad aus der Datei und aktiviert den Ordner. Bei Veränderung der Position führe ich ein Script B. aus um die Position bei bedarf zu Speichern. Alles würde soweit wunderbar funktionieren, aber:
Nach dem ich das fertige Script zum auslesen des textes an einen Ordner anhänge tut sich nichts, zumindest kriege ich momentan 2 von 15 dazu zu lesen und markieren, die anderen weigern sich den dienst anzutreten. Nach einer Veränderung ist wieder tote Hose.
Das anhängen einer Ordneraktion habe ich auf drei verschiede Möglichkeiten probiert, ohne Erfolg. Ordner unterhalb der Mounts haben noch nie funktioniert.
Meine Überwachungsscripts im Downloadbereich laufen ohne Probleme.
Gerade habe ich den Mini neu gestartet. Alle Texte habe ich zuvor entsorgt,
Aktionen aktiviert, Jetzt springt der Finder immer an die gleiche Stelle in "Scripts" rein, obwohl kein einziger Pfad gespeichert wurde, egal welchen Mount ich aktiviere.
Beim Löschen bekomme ich eine Meldung, dass Datei nicht gelöscht werden kann, weil auf sie noch zugegriffen wird. Hee.
Schau dir bitte die Rutinen LESEN und SCHREIBEN an, ich kann keinen Fehler entdecken.

Fragen:
Gibt es einen Dienst der das Anhängen überwacht?
Was kann ich machen wenn ein script Manuel ausgeführt Läuft, aber angehängt sich keinen milimeter bewegt? Mit schlagen komme ich auch nicht weiter.
Was hat die "On idle" Rutine auf sich?
Könnte man nicht ein Script schreiben, dass ständig Läuft und auf eine Aktion wartet, und dem entsprechend handelt?
Der "Fentster Auffrischer" wäre ein Beispiel.

Grossen Dank für die Unterstützung.
_________________
OS 10.11
MacMini DC2 2000MB.
Mac Mini Server QC 2300, 16GB
iPhone 4, 5
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 20.03.2007 - 15:55    Titel: Antworten mit Zitat

TommyC hat Folgendes geschrieben:
Beim Löschen bekomme ich eine Meldung, dass Datei nicht gelöscht werden kann, weil auf sie noch zugegriffen wird. Hee.
Schau dir bitte die Rutinen LESEN und SCHREIBEN an, ich kann keinen Fehler entdecken.

Ich hab zwar noch immer nicht ganz verstanden, was abgehen soll, aber das ist auch egal. das mit den folder-actions ist so eine sache. das thema hatte ich hier auch vor kurzem. schau da mal rein. ist noch nicht lang her.
das mit der fehlermeldung rührt sicher daher, dass du mit zwei scripts arbeitest, die einen open for access ausführen.

TommyC hat Folgendes geschrieben:
Fragen:
1 Gibt es einen Dienst der das Anhängen überwacht?
2 Was kann ich machen wenn ein script Manuel ausgeführt Läuft, aber angehängt sich keinen milimeter bewegt? Mit schlagen komme ich auch nicht weiter.
3 Was hat die "On idle" Rutine auf sich?
4 Könnte man nicht ein Script schreiben, dass ständig Läuft und auf eine Aktion wartet, und dem entsprechend handelt?
5 Der "Fentster Auffrischer" wäre ein Beispiel.


1 keine ahnung
2 mit as-befehlen gut zureden Wink
3+4 der "on idle" ist schon richtig, wenn du dein script ständig laufen lässt. dazu musst du beim speichern des scripts "automatisch beenden" abwählen.
5 Fenster-auffrischer?

ein problem bei deinem ganzen vorhaben dürfte sein, dass es immer momente geben wird, in denen ein script gerade zu tun hat, während du eine aktion ausführst, und an diesen momenten wird dein vorhaben scheitern. insbesondere, wenn du mit folder-actions arbeitest.
_________________
- anholn deit kriegen -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X 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