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

Pfadprobleme! (: oder /)

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


Anmeldedatum: 07.05.2002
Beiträge: 130

BeitragVerfasst am: 14.01.2008 - 17:05    Titel: Pfadprobleme! (: oder /) Antworten mit Zitat

Hallo Allerseits!

So, nachdem ich jetzt seit Stunden teste, ausprobiere, lese, suche, verzweifle, etc... muss ich jetzt einfach fragen!

Ich habe folgende Situation:
Ich habe ein kleines Programm geschrieben. Im Programm kann ich einen Pfad setzen. Der sieht z.B. so aus:

Code:
/Users/florianbinder/Desktop/REX_data_import/


So, jetzt wird aus Jahreszahl und KW + entsprechender Unterordnerstruktur dieser Pfad zusammengebastelt:

Code:
/Users/florianbinder/Desktop/REX_data_import/200803/texte/


In diesem "texte" Verzeichnis liegen einige XML Dateien (haben aber ein anderes Suffix- ist jetzt nicht relevant). Also z.B. drei Dateien:

Code:

/Users/florianbinder/Desktop/REX_data_import/200803/texte/1000.rxt
/Users/florianbinder/Desktop/REX_data_import/200803/texte/1001.rxt
/Users/florianbinder/Desktop/REX_data_import/200803/texte/1002.rxt


So, ich möchte nun eigentlich nichts weiter, als jede Datei einzeln anzufassen, zu öffnen, einen Teil auslesen und wieder schließen. Leider pack ich es einfach nicht... Ich hab zu lange PHP programmiert und meine AS Kenntnisse sind mittlerweile total mies!

Ich habe zwischenzeitlich mal versucht, das mit einem ShellScript zu lösen - da hab ich wenigstens alle Dateien aus dem Verzeichnis auslesen können, aber dann hab ich Probleme mit den Pfaden. Irgendwie raff ich das mit den POSIX Pfaden nicht...

So hatte ich es mit dem Shell Script:

Code:

-- Get all rxt files
set xml_files_string to do shell script "find " & kwfolder_path & " -name \"*." & XMLFileSuffix & "\""


kwfolder_path ist der richtige Pfad zum Verzeichnis, XMLFileSuffix ist ".rxt"

Jetzt bekomme ich alle Dateien zusammen mit den richtigen Pfaden als String zurück... ist einfach nicht das Wahre...

Ich hoffe jemand kann mir helfen!!!

Viele Grüße,
sideshow
_________________
Meine Wenigkeit im Internet: http://www.sideshow-systems.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Skeeve
•---->
•---->


Anmeldedatum: 20.04.2006
Beiträge: 1068

BeitragVerfasst am: 14.01.2008 - 17:45    Titel: Antworten mit Zitat

Und ich verstehe nicht genau, was Du eigentlich willst.

Ein POSIX path ist das Teil mit den "/". Den erhältst Du mit "POSIX path of ..." aus einem Alias oder einem String.

Ein POSIX file ist die "Umkehrung", d.h. aus einem "POSIX path"-String wird ein "file", das Du mit "as alias" dann in AS verwenden kannst.

Und dann gibt es noch das praktische "quoted form of", das man eigentlich immer vor einem "do shell script" auf einen "POSIX path" anwenden sollte, damit das Shell Script nicht durch Sonderzeichen verwirrt wird.

Nun ist die Frage: Was hast Du in Deinem Script (das sieht nach POSIX path" aus) und was willst Du?
_________________
"All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies")
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
sideshow
•-->
•-->


Anmeldedatum: 07.05.2002
Beiträge: 130

BeitragVerfasst am: 14.01.2008 - 17:59    Titel: Antworten mit Zitat

Ok, sorry... ich hatte einfach vorher so ein Brett vorm Kopf weil ich so lange rumprobiert hab... Very Happy

Also, ich möchte eben aus besagtem Ordner die XML Dateien einzeln öffnen, auslesen und wieder schließen. Nur weiss ich nicht, wie ich am besten an die einzelnen Files drankomme.
Ich habe es über ein ShellScript versucht (mittels 'find') - da bekomme ich die absoluten Pfade (mit / getrennt) als String zurück. Jetzt weiss ich nicht wie ich damit weitermache?!

Hier mein Script-Schnipsel:
Code:

-- Get all rxt files
set xml_files_string to do shell script "find " & kwfolder_path & " -name \"*." & XMLFileSuffix & "\""


Jetzt bekomme ich folgenden String zurück:
Code:

/Users/florianbinder/Desktop/REX_data_import/200803/texte/1000.rxt
/Users/florianbinder/Desktop/REX_data_import/200803/texte/1001.rxt
/Users/florianbinder/Desktop/REX_data_import/200803/texte/1002.rxt


Diese Files möchte ich jetzt einzeln anpacken, öffnen, auslesen und wieder schließen. Nur hab ich keine Ahnung wie... Crying or Very sad Rolling Eyes

Per PHP hätte ich ja kein Problem - aber mit AS weiss ich nicht mehr wie das geht. Als ich damals gescriptet hab (war noch zu OS9 Zeiten - ist also schon wirklich lange her) waren die Pfade noch durch ":" getrennt. Ist das immer noch so oder blicke ich nur nicht durch?

Bin für jeden Hinweis dankbar![/code]
_________________
Meine Wenigkeit im Internet: http://www.sideshow-systems.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 14.01.2008 - 20:19    Titel: Antworten mit Zitat

Code:
set xml_files_string to paragraphs of (do shell script "find " & kwfolder_path & " -name \"*." & XMLFileSuffix & "\"")

dann erhältst du eine liste mit den posix-pfaden (strings) zurück, die du dann einzeln abarbeiten kannst.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Skeeve
•---->
•---->


Anmeldedatum: 20.04.2006
Beiträge: 1068

BeitragVerfasst am: 15.01.2008 - 00:15    Titel: Antworten mit Zitat

Alternativ 2 AS-only Lösungen

Zitat:
tell application "Finder"
   set XMLFileSuffix to "rxt"
   set kw to "200803"
   -- so
   set the_files to every file of folder "texte" of folder kw of folder "REX_data_import" of (path to desktop folder) whose name extension is XMLFileSuffix
   -- alternativ
   tell folder (path to desktop folder)
      tell folder "REX_data_import"
         tell folder kw
            tell folder "texte"
               set the_files to every file whose name extension is XMLFileSuffix
            end tell
         end tell
      end tell
   end tell
end tell


Nachtrag: find sucht natürlich rekursiv unterhalb von "texte" weiter. Das macht die AS-only Lösung nicht. Ich bin davon ausgegangen, daß es in "texte" keine (interessanten) Unterverzeichnisse gibt.
_________________
"All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies")
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
sideshow
•-->
•-->


Anmeldedatum: 07.05.2002
Beiträge: 130

BeitragVerfasst am: 15.01.2008 - 00:20    Titel: Antworten mit Zitat

Danke euch beiden! Ich werde das gleich morgen ausprobieren!!!

Vielen Dank für eure Hilfe und gute Nacht! Smile
_________________
Meine Wenigkeit im Internet: http://www.sideshow-systems.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
sideshow
•-->
•-->


Anmeldedatum: 07.05.2002
Beiträge: 130

BeitragVerfasst am: 15.01.2008 - 09:42    Titel: Antworten mit Zitat

So...

@ iScript:
Deinen Vorschlag habe ich ausprobiert. Die Zeile wird ganz normal ausgeführt - wenn ich versuche, den Inhalt per display dialog anzuzeigen bekomme ich den Fehler: AppleEvent handler failed. (-10000)

Was bekomme ich denn da von dem Shell Script zurück und wie kann ich das AppleScript Seitig weiterverarbeiten?


@ Skeeve:
Ich hätte nichts gegen eine AS Lösung da es keine weiteren Unterordner von "texte" mehr gibt. Das Problem ist nur, das ja schon ein "Basispfad" gesetzt ist. Und zwar dieser: /Users/florianbinder/Desktop/REX_data_import/
Soll heissen das dieser Ordner nicht zwangsläufig auf dem Schreibtisch liegt (so wie es in deinem Beispiel der Fall ist)

Ich glaube ich muss mich mal in diese ganzen Pfad Sachen genauer einlesen...
_________________
Meine Wenigkeit im Internet: http://www.sideshow-systems.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
sideshow
•-->
•-->


Anmeldedatum: 07.05.2002
Beiträge: 130

BeitragVerfasst am: 15.01.2008 - 12:00    Titel: Antworten mit Zitat

Jetzt habe ich es doch über die Shell Variante hinbekommen! Es ging nur vorher nicht weil ich es nicht in einem "tell Application "Finder" drin hatte...

Herr wirf Hirn vom Himmel... Very Happy

Danke euch für die Hilfe! Jetzt funzt es super!!!
_________________
Meine Wenigkeit im Internet: http://www.sideshow-systems.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Skeeve
•---->
•---->


Anmeldedatum: 20.04.2006
Beiträge: 1068

BeitragVerfasst am: 15.01.2008 - 13:10    Titel: Antworten mit Zitat

sideshow hat Folgendes geschrieben:
@ Skeeve:
Ich hätte nichts gegen eine AS Lösung da es keine weiteren Unterordner von "texte" mehr gibt. Das Problem ist nur, das ja schon ein "Basispfad" gesetzt ist. Und zwar dieser: /Users/florianbinder/Desktop/REX_data_import/

Wo ist das Problem? Oder willst Du alles vorgekaut haben? Ein bischen abstrahieren und fortführen mußt Du schon selbst.

Aber na gut... Damit ich hier nicht einen 2ten bix(bixbix) heranziehe, will ich mal nicht so sein:
Zitat:
set basispfad to "/Users/florianbinder/Desktop/REX_data_import/"

set basis to (POSIX file basispfad) as alias

tell application "Finder"
   set XMLFileSuffix to "rxt"
   set kw to "200803"
   -- so
   set the_files to every file of folder "texte" of folder kw of folder basis whose name extension is XMLFileSuffix
   -- alternativ
   tell folder basis
      tell folder kw
         tell folder "texte"
            set the_files to every file whose name extension is XMLFileSuffix
         end tell
      end tell
   end tell
end tell

_________________
"All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies")
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
sideshow
•-->
•-->


Anmeldedatum: 07.05.2002
Beiträge: 130

BeitragVerfasst am: 15.01.2008 - 13:28    Titel: Antworten mit Zitat

Skeeve hat Folgendes geschrieben:
Wo ist das Problem? Oder willst Du alles vorgekaut haben? Ein bischen abstrahieren und fortführen mußt Du schon selbst.


Geht's noch? Ich brauch bestimmt nicht "alles vorgekaut"! Hilfestellung reicht vollkommen. Ich bin bestimmt nicht jemand der hier fertige Scripte erwartet wenn man ein Problem hat. Ich mache mir bestimmt genug Gedanken darüber wie ich es fortführen kann - sonst wäre ich jetzt auch nicht auf eine Lösung gekommen. Ich hatte das Problem hier - das du jetzt somit gelöst hast:

Code:

set basis to (POSIX file basispfad) as alias



Skeeve hat Folgendes geschrieben:
Aber na gut... Damit ich hier nicht einen 2ten bix(bixbix) heranziehe, will ich mal nicht so sein...


Und wer soll das bitte sein? Wie gesagt, ich mache mir so viel Gedanken wie ich kann um mein Problem zu lösen!
Ich bin bestimmt kein "Newbie" was programmieren angeht - nur einfach nicht fit mit AS...
_________________
Meine Wenigkeit im Internet: http://www.sideshow-systems.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Skeeve
•---->
•---->


Anmeldedatum: 20.04.2006
Beiträge: 1068

BeitragVerfasst am: 15.01.2008 - 15:00    Titel: Antworten mit Zitat

sideshow hat Folgendes geschrieben:
Geht's noch?
[...]
[...bix(bixbix)...] Und wer soll das bitte sein?

Jemand der mindestens genauso überreagiert wie Du und mich ebenfalls nicht mehr leiden kann.

sideshow hat Folgendes geschrieben:
Ich brauch bestimmt nicht "alles vorgekaut"! Hilfestellung reicht vollkommen.

Sagen wir mal so: Ich erlaube mir das zu bezweifeln, habe ich Dir doch bereits in meiner ersten Antwort hier schon die Grundlagen gegeben, aus meiner AS-only Lösung die, zuletzt von mir gepostete herauszuarbeiten. Wie Du ja leicht siehst, wenn Du die letzten beiden vergleichst, ist der Unterschied nur minimal.

sideshow hat Folgendes geschrieben:
Ich bin bestimmt kein "Newbie" was programmieren angeht - nur einfach nicht fit mit AS...

Sieh mal an Wink Ich auch nicht. Aber ich probiere halt gerne mal aus.[/list]
_________________
"All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies")
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
sideshow
•-->
•-->


Anmeldedatum: 07.05.2002
Beiträge: 130

BeitragVerfasst am: 15.01.2008 - 15:18    Titel: Antworten mit Zitat

Skeeve hat Folgendes geschrieben:

Jemand der mindestens genauso überreagiert wie

Mag sein... evtl. kommt das daher das ich seit ca. 10 Stunden an dem blöden Problem sitze und nach vielem probieren trotzdem nicht auf die Lösung komme...

Skeeve hat Folgendes geschrieben:

Du und mich ebenfalls nicht mehr leiden kann.

Hab ich das gesagt? Ich glaube nicht? Wink
Warum sollte ich dich nicht mehr leiden können. Wir haben hier eine Meinungsverschiedenheit (wenn man es überhaupt so nennen kann) - um dich nicht leiden zu können kenn ich dich doch viel zu wenig! Smile

Skeeve hat Folgendes geschrieben:
sideshow hat Folgendes geschrieben:
Ich brauch bestimmt nicht "alles vorgekaut"! Hilfestellung reicht vollkommen.

Sagen wir mal so: Ich erlaube mir das zu bezweifeln, habe ich Dir doch bereits in meiner ersten Antwort hier schon die Grundlagen gegeben, aus meiner AS-only Lösung die, zuletzt von mir gepostete herauszuarbeiten. Wie Du ja leicht siehst, wenn Du die letzten beiden vergleichst, ist der Unterschied nur minimal.

Dann muss ich dich leider enttäuschen! Den Unterschied habe ich nicht bemerkt... Wie gesagt - ich sitze bestimmt schon seit gut 10 Stunden vor dem Problem und ich bin mit Sicherheit niemand der gleich aufgibt. Ich kann es leider einfach nicht besser. Wie auch? Das letzte mal hab ich vor ca. 5 Jahren ein AS geschrieben. Seitdem nur noch PHP, MySQL etc. Jetzt brauch ich es mal wieder und da klappt halt nicht alles gleich auf anhieb! :/

Skeeve hat Folgendes geschrieben:
sideshow hat Folgendes geschrieben:
Ich bin bestimmt kein "Newbie" was programmieren angeht - nur einfach nicht fit mit AS...

Sieh mal an Wink Ich auch nicht. Aber ich probiere halt gerne mal aus.
Smile

Das mache ich auch gerne! Wenn ich aber seit Stunden dran sitze und es kommt nix dabei raus verliere ich leider die Motivation und brauche wieder einen Stoß in die richtige Richtung! Und die erhoffe ich mir eben hier!

Ich würde sagen: Schwamm drüber und weiter Scripten, oder? Was meinst du? Smile

Edit:
Und sorry für's überreagieren! Wink
_________________
Meine Wenigkeit im Internet: http://www.sideshow-systems.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Studio Forum 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