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

info for Netzwerkvolume - Finder
Gehe zu Seite 1, 2  Weiter
 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Jens Hoffmann
•--->
•--->


Anmeldedatum: 07.05.2001
Beiträge: 175

BeitragVerfasst am: 03.08.2001 - 16:40    Titel: info for Netzwerkvolume - Finder Antworten mit Zitat

Hallo
Wenn ich versuche, die Infos eines Netzwerkvolumes mittels "info for" zu ermitteln, bekomme ich die Fehlermeldung "File some object wasn't found". Mach ich das Gleiche mit einem Ordner innerhalb des Volumes, also z.B. info for "www:ordner:", klappt's wunderbar. Wo liegt der Fehler?
Grüße, Jens

(Geändert von Jens Hoffmann am 16:41 Uhr am 3 Aug. 2001)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
macgix
•--->
•--->


Anmeldedatum: 13.12.2000
Beiträge: 206
Wohnort: K–ln

BeitragVerfasst am: 03.08.2001 - 21:36    Titel: info for Netzwerkvolume Antworten mit Zitat

Hallo Jens

'info for' funktioniert nur mit Ordnern oder Dateien, nicht Laufwerken (class disk) wie es das Dictionary zeigt:

info for: Return information for a file or folder (from File Commands) (defined in: Standard Additions)
info for file specification -- the alias, file specification, or path to the file or folder
Result: file information -- a record containing the information for file or folder specified


Welche Information möchtest Du denn erhalten? Es gibt sicher noch einen anderen Weg dazu.

Thomas
_________________
[macgix]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jens Hoffmann
•--->
•--->


Anmeldedatum: 07.05.2001
Beiträge: 175

BeitragVerfasst am: 06.08.2001 - 12:05    Titel: info for Netzwerkvolume Antworten mit Zitat

Hallo macgix
"info for" funktioniert mit den lokalen Volumes, bzw. Partitionen. Es liegt wohl eher am Netzwerk.

Ich möchte einfach den Namen des Volumes (aus einem Pfad, z.B. "LANdisk:"). Ich könnte natürlich den Doppelpunkt daraus löschen, aber vielleicht geht's ja auch anders.

Grüße, Jens
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Folker
•---->
•---->


Anmeldedatum: 11.12.2000
Beiträge: 649
Wohnort: Holsteinische Schweiz

BeitragVerfasst am: 06.08.2001 - 12:20    Titel: info for Netzwerkvolume Antworten mit Zitat

Hallo Jens,

jetzt mische ich mich auch noch ein :)

Das kann mit Sicherheit der Finder liefern (name of Ö), allerdings mache ich es lieber so:

set theP to choose folder -- weiß ja nicht woher der Pfad kommt
get_part(theP as string, 1)

on get_part(theP, n)
set {oldDelim, AppleScript's text item delimiters} to {AppleScript's text item delimiters, ":"}
set temp to item n of text items of theP
set AppleScript's text item delimiters to oldDelim
return temp
end get_part

n kann natürlich auch -1/-2 sein, dann erhälst Du einen Datei-/Ordnernamen.

Gruß,

Folker
_________________
Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jens Hoffmann
•--->
•--->


Anmeldedatum: 07.05.2001
Beiträge: 175

BeitragVerfasst am: 06.08.2001 - 13:01    Titel: info for Netzwerkvolume Antworten mit Zitat

Hallo Folker

Das kann mit Sicherheit der Finder liefern (name of Ö)

Das geht eben bei meinen LAN-Volumes gerade nicht (-> Fehler s.o.).

Mit
Ich könnte natürlich den Doppelpunkt daraus löschen
meinte ich, was Du vorschlägst.

Danke + Grüße, Jens
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Folker
•---->
•---->


Anmeldedatum: 11.12.2000
Beiträge: 649
Wohnort: Holsteinische Schweiz

BeitragVerfasst am: 06.08.2001 - 14:37    Titel: info for Netzwerkvolume Antworten mit Zitat

Hallo Jens,

mit "Das kann mit Sicherheit der FinderÖ" meinte ich nicht den Standard Scripting Addition Befehl 'info for'.

tell application "Finder"
name of every disk where local volume of it is false
end tell

Schau mal ins Dictionary des Finders, der kann eigentlich auch (fast?) alles liefern was 'info for' kann und darüber hinaus natürlich einiges mehr ;)

Gruß,

Folker
_________________
Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jens Hoffmann
•--->
•--->


Anmeldedatum: 07.05.2001
Beiträge: 175

BeitragVerfasst am: 06.08.2001 - 16:55    Titel: info for Netzwerkvolume Antworten mit Zitat

Ahh, so langsam wird's

Ich glaube, ich hätte mein Problem genauer beschreiben sollen, was ich jetzt mal mache:
Das Script wandert die Ordnerhierachie von einem Ordner (kann lokal oder LAN sein) aus nach oben und wenn es in den root-Ordner eines Netzwerk-Volumes kommt, tritt eben jener Fehler auf.

Also brauche eine Abfrage, ob Ordner oder Volume. Ich habe das auf die Art probiert:

---
tell application "Finder"
try
return name of (info for Ordner)
on error
NetzwerkvolumeBearbeitung
end try
end tell

---
Das Problem ist, daß dies ziemlich lange dauert. Die Abfrage müsste also vor dem "info for" kommen. Ich habe aber keine Idee. wie ich das davor abfragen soll...

Grüße, Jens
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Folker
•---->
•---->


Anmeldedatum: 11.12.2000
Beiträge: 649
Wohnort: Holsteinische Schweiz

BeitragVerfasst am: 06.08.2001 - 17:39    Titel: info for Netzwerkvolume Antworten mit Zitat

Hallo Jens,

hilft Dir vielleicht

[font=geneva]set x to [color=red]choose folder

tell application "Finder"
  kind of x
end tell[/color][/font]


weiter?

Gruß,
Folker

PS: Achtung, der Finder gibt das Ergebnis offensichtlich i.d. jeweiligen System-(Landes)Sprache wieder.
_________________
Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
macgix
•--->
•--->


Anmeldedatum: 13.12.2000
Beiträge: 206
Wohnort: K–ln

BeitragVerfasst am: 06.08.2001 - 20:37    Titel: info for Netzwerkvolume Antworten mit Zitat

Ja steh't Ihr denn alle im Wäldchen?

[font=geneva]
tell application "Finder" to set tDisks to name of (every disk whose ejectable is false and local volume is false)
[/font]


Und schon isses passiert.

Gruß, Wink

Thomas
_________________
[macgix]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Folker
•---->
•---->


Anmeldedatum: 11.12.2000
Beiträge: 649
Wohnort: Holsteinische Schweiz

BeitragVerfasst am: 07.08.2001 - 10:00    Titel: info for Netzwerkvolume Antworten mit Zitat

Ja, hier um Eutin herum gibt es schöne Wälder! Nein, im Ernst, so wie ich das Problem verstehe, arbeitet Jens eine Ordnerhierachie von unten nach oben durch und hat dann irgendwann die oberste Ebene erreicht und braucht genau dann die Art des Objekts - und da Netzwerkvolumes durchaus gleichen Namen haben können wie ein lokales Laufwerk hilft auch eine Liste aller Netzwerkvolumes nicht wirklich weiter. Aber vielleicht habe ich da auch falsch gedacht.

Gruß,
Folker
_________________
Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
macgix
•--->
•--->


Anmeldedatum: 13.12.2000
Beiträge: 206
Wohnort: K–ln

BeitragVerfasst am: 07.08.2001 - 13:31    Titel: info for Netzwerkvolume Antworten mit Zitat

Hallo Folker

Eines verstehe ich nicht: Wieso der Ordner down -> top durchlaufen wird? Üblich ist der Aufruf eines rekursiven Handlers top -> bottom... Da sich auch auf einem Laufwerk nur Ordner und Dateien befinden, und der "Root-Level" des Laufwerks so als Erstes Bearbeitung findet, kommt es nicht mehr zum Abbruch des Skriptes.

Ein Skeleton, das den rekursiven Handler enthält, findet Ihr unter Dasglaubich.net, und dort im Skript "RecursiveFileTrasher.txt".

Damit sollte dann auch Jens glücklich werden können.

Thomas
_________________
[macgix]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Folker
•---->
•---->


Anmeldedatum: 11.12.2000
Beiträge: 649
Wohnort: Holsteinische Schweiz

BeitragVerfasst am: 07.08.2001 - 14:23    Titel: info for Netzwerkvolume Antworten mit Zitat

Hallo Thomas,

die Antwort kann nur der Jens wissen. Ich persönlich wüsste im Moment auch kein Beispiel für eine Notwendigkeit down -> top, aberÖ, habe ja schon so einiges erlebt - darum gehe ich erstmal davon aus, dass diese Notwendigkeit bestehen könnte.

Ein sehr schönes Beispiel für einen rekursiven Handler findet sich im "AppleScript Guidebook":
Essential Sub-routines -> Finder Droplets ->
Droplet for Processing Dragged - on Files and Folders in Nested Folders

Gruß,
Folker
_________________
Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jens Hoffmann
•--->
•--->


Anmeldedatum: 07.05.2001
Beiträge: 175

BeitragVerfasst am: 07.08.2001 - 15:33    Titel: info for Netzwerkvolume Antworten mit Zitat

Hey, ihr seid ja so schnell, dass ich kaum mit dem Lesen hinterher komme, geschweige denn mit dem Ausprobieren Eurer Vorschläge ;-)

Ok, man sollte sein Problem wirklich sehr genau beschreiben, dann gibt's auch kein Rätselraten. Hier die Auflösung:

Der Part des Scripts simuliert einen Öffnendialog. Per Doppelklick auf ein Listenitem (falls Ordner) zeigt den Inhalt diesen an, ein Klick auf einen Button geht eine Hierachie nach oben. Der Ordner, von dem aus gestartet wird, hängt von vorhergehenden Aktionen ab. Der Name des aktuellen Ordners soll über der Liste angezeigt werden. Funktioneirt auch alles, bis eben auf besagtes Problem bei LAN-Volumes.

Und hier der Part des Scripts (innerhalb einer repeat-Schleife):

---------
tell application "Finder"
set neu to (container of item CurrentOrdner) as text
end tell
set zut to order list (list folder neu without invisibles)
dd set contents of item 10 of fenster to zut
set CurrentOrdner to neu
set CurrentOrdnerName to name of (info for CurrentOrdner)
dd set contents of item 12 of fenster to CurrentOrdnerName
--------
item 10 ist die Liste, item 12 der "static text", der den Namen anzeigen soll. CurrentOrdner ist der aktuelle Ordner, CurrentOrdnerName ist, wer hätte es gedacht, eben der Name.


Soweit ich das bis jetzt beurteilen kann, sieht mir "kind of" nach der Lösung aus. Wie gesagt, zum Testen brauch ich immer etwas.

Viele Grüße , Jens


(Geändert von Jens Hoffmann am 15:39 Uhr am 7 Aug. 2001)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
macgix
•--->
•--->


Anmeldedatum: 13.12.2000
Beiträge: 206
Wohnort: K–ln

BeitragVerfasst am: 07.08.2001 - 16:47    Titel: info for Netzwerkvolume Antworten mit Zitat

Hallo Jens,

wenn Du das Skript mal direkt postest oder mir per eMail schickst, kann ich den Fehler gerne für Dich debuggen und die Korrektur dann auch hier posten. - Das Problem habe ich nun wohl auch verstanden.

Gruß,

Thomas
_________________
[macgix]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jens Hoffmann
•--->
•--->


Anmeldedatum: 07.05.2001
Beiträge: 175

BeitragVerfasst am: 09.08.2001 - 12:20    Titel: info for Netzwerkvolume Antworten mit Zitat

Jetzt aber.
Die (oder eine) Lösung ist: "name of container of item xyz"

Damit sieht die Routine, um in der Ordnerhierachie eins nach oben zu gehen, jetzt so aus:
--------
try
tell application "Finder"
if not (name of container of item (CurrentOrdner as alias)) is "Schreibtisch" then
set neu to (container of item CurrentOrdner) as alias
else
set neu to path to desktop folder as alias
end if
set zut to order list (list folder neu without invisibles)
set CurrentOrdnerName to name of neu
set CurrentOrdner to neu
end tell
dd set contents of item 10 of fenster to zut
dd set contents of item 12 of fenster to CurrentOrdnerName
end try
--------
Die if-Abfrage prüft noch, ob man auf dem Schreibtisch gelandet ist, da der container eines Volumes (=Schreibtisch) "desktop of application "Finder"" ist. Will man noch eins höher, passiert gar nix, dafür der try-Handler. Vielleicht geht das auch noch eleganter, mir reicht's erst mal.

Grüße, Jens
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum Alle Zeiten sind GMT + 2 Stunden
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
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