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

Pfadproblem zum x-ten Mal

 
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-Studio Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Heiner
•-->
•-->


Anmeldedatum: 03.12.2005
Beiträge: 62
Wohnort: Moers

BeitragVerfasst am: 10.02.2008 - 19:55    Titel: Pfadproblem zum x-ten Mal Antworten mit Zitat

Hallo allerseits,

ich brauche mal wieder eure Hilfe.

Kurzbeschreibung:
- Mein Programm erzeugt (beim Erststart) für den Benutzer einen Ordner 'Listen_Data':
set pfad to do shell script "mkdir -p ~/Documents/Listen_Data"

- Dieser Ordner kann innerhalb des persönl. Verzeichnises beliebig verschoben werden.

- Der Pfad des Ordners wird jedesmal (bei Bedarf) abgefragt und in einer Variablen 'thePath' abgelegt:
( do shell script "find ~ -name " & suchVerzeichnis & " -type d -print")

Das Ergebnis kann z.B. so aussehen: "~/Documents/Listen_Data"
(Die Tilde ist somit immer dabei!)

- Nun soll eine Datei mit dem Namen 'Titel_Data' in den Ordner 'Listen_Data' abgelegt werden.

Und hier beginnt mein Problem:
In dem folgenden Handler wird die Pfadzusammenstellung filePath nicht verstanden.

Code:

on sichernTitel()
   -- Einsammeln der Daten
   set dieListe to ""
   set anzahl to (count of data rows of listendaten)
   repeat with i from 1 to anzahl
      set dieListe to dieListe & (contents of data cell "listen" of data row i of listendaten) & return
   end repeat
   set dieListe to (dieListe & eof)
   
   log thePath -- "~/Documents/Listen_Data"
   try
      set filePath to POSIX path of (thePath & "/" & "Titel_Data")
      log filePath -- "/~:Documents:Listen_Data:Titel_Data"
      set refNum to (open for access file filePath with write permission)
      set eof refNum to 0
      write dieListe to refNum starting at eof
      close access refNum
   on error
      close access refNum
   end try
end sichernTitel


Kann mir jemand helfen?

Grüße
Heiner
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 11.02.2008 - 19:24    Titel: Antworten mit Zitat

Das Problem ist die Tilde (~). Die wird so nicht richtig aufgelöst.

Das siehst du daran, dass du einen Mix aus POSIX & MAC-Pfad hast:
log filePath -- "/~:Documents:Listen_Data:Titel_Data"

Um den Pfad zum Documents-Folder relativ aufzulösen, versuchs mal so:
POSIX path of (((path to "docs") & "Listen_Data:") as text)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Heiner
•-->
•-->


Anmeldedatum: 03.12.2005
Beiträge: 62
Wohnort: Moers

BeitragVerfasst am: 11.02.2008 - 19:59    Titel: Antworten mit Zitat

Hallo iScript,

folgender Befehl tut's:

Code:
set a to (path to "docs") & "Listen_Data:" & "TitelData" as string


Das Problem ist aber ein ganz anderes.

Der Benutzer des Programms (auf einem ganz anderen Rechner) kann den vom Programm erstellten Ordner 'Listen_Data' (für den das Programm das Verzeichnis 'Dokumente' nur als 'default location' auswählt) beliebig verschieben. So, dass z.B. der abgefragte Pfad (user location) folgende Form haben kann:
log thePath -> ~/Ordner1/Ordner2/Listen_Data,
oder
log thePath -> ~/Documents/Ordner1/Listen_Data.

Das Problem ist, wie 'übersetzt' man ganz allgemein diesen Pfad?

Gruß

Heiner
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 11.02.2008 - 20:12    Titel: Antworten mit Zitat

POSIX path of (path to "cusr") statt "~"
Die Tilde löst (soweit ich weiss) nur die shell richtig auf.
z.B. so:
do shell script "cd ~;pwd"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Heiner
•-->
•-->


Anmeldedatum: 03.12.2005
Beiträge: 62
Wohnort: Moers

BeitragVerfasst am: 11.02.2008 - 20:50    Titel: Antworten mit Zitat

Ich habe eine 'klassische' (?) Lösung gefunden. Ein ziemlich umständliches Gebastele, aber es scheint zu funktionieren. Die entsptechenden Zeilen lauten:
Code:
try
      set a to (POSIX file thePath) as string
      set anz to count of items of a
      set anhang to ""
      repeat with i from 4 to anz
         set anhang to anhang & item i of a
      end repeat
      set basis to path to "cusr" as string
      set filePath to basis & anhang & ":TitelData" as string
      set refNum to (open for access file filePath with write permission)
      set eof refNum to 0
      write dieListe to refNum starting at eof
      close access refNum
   on error
      close access refNum
   end try



Deinen Lösungsvorschlag über shell script werde ich mal in Ruhe überprüfen. Ich melde mich wieder!

Danke

Heiner
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Heiner
•-->
•-->


Anmeldedatum: 03.12.2005
Beiträge: 62
Wohnort: Moers

BeitragVerfasst am: 12.02.2008 - 22:09    Titel: Antworten mit Zitat

Hallo iScript,

ich hab noch mal im UNIX-Schmöker nachgelesen, aber leider ist es mir nicht gelungen, mit Hilfe von cd und pwd den Pfad herauszulösen. (Um ehrlich zu sein, ich kann das auch gar nicht so richtig.)
Macht nix, die AS-Lösung tut es ja auch.

Noch mal Danke

Heiner
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 12.02.2008 - 23:07    Titel: Antworten mit Zitat

do shell script "cd ~;pwd"
liefert dir den pfad zum home-directory als string in POSIX-Manier:
"/Users/username"
sprich: die tilde wird aufgelöst.
bewirkt also exakt das gleiche wie:
POSIX path of (path to "cusr")

cd ~ wechselt in das homeverzeichnis
; hängt den nächsten befehl an
pwd gibt das aktuelle verzeichnis aus

diesen pfad kannst du dann beliebig wieder zusammenfrickeln mit deinem suchergebnis. oder aber du bleibst in der shell, und schreibst auch per shell in deine datei.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Heiner
•-->
•-->


Anmeldedatum: 03.12.2005
Beiträge: 62
Wohnort: Moers

BeitragVerfasst am: 13.02.2008 - 13:05    Titel: Antworten mit Zitat

In der Tat: beide Befehle liefern (bis auf das slash (/) ) am Ende das gleiche Ergebnis.
Und was das Schreiben in eine Datei per shell angeht, so bleibe ich lieber Schuster.

Grüße
Heiner
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
jiuer7845
•---->
•---->


Anmeldedatum: 06.04.2021
Beiträge: 521

BeitragVerfasst am: 09.10.2021 - 09:47    Titel: Antworten mit Zitat

Travis Scott Jordan 1

Yeezy Shoes

Yeezy Supply

Air Jordans

Jordan 11s

Jordan 11

Jordans Shoes

Retro Jordans

Moncler Jackets

Nike Air Jordan

Moncler Outlet

Off-White

Yeezy 450

Yeezy 500

Yeezy

Yeezy 700

Yeezy Supply

Off White Shoes

NFL Jerseys

Jordan Shoes

Jordans Shoes

Yeezy 350 V2

Adidas Yeezy

Yeezy

Yeezy 700

Yeezy

Nike Outlet

Yeezy Shoes

UNC Jordan 1

Jordan 13

Jordan AJ 1

Yeezy Foam Runner

Nike Outlet

Nike Outlet

AJ1

Yeezy Supply

Yeezy Zebra

Jordan 1 Low

Air Jordans

Pandora Charms

Adidas UK

Nike Store

Adidas Yeezy Official Website

Yeezy 350

Jordan 1

Nike Outlet

YEEZY SUPPLY

Pandora Charms

Nike Shoes

Nike Outlet

Pandora Outlet

Jordan Shoes

Air Jordan 4

Pandora Jewelry

Pandora Rings

Pandora Bracelets

Adidas Yeezy

Yeezy

Pandora Charms

Nike Outlet

Adidas Yeezy

Air Max 720

Nike Air Max 270

Air Jordan 11

Air Force 1

Air Jordan 1

Nike Jordans

Jordan 1s

Pandora UK

Nike Jordan 1

Jordan 1

Yeezy Slides

Nike Air VaporMax

Nike Vapormax Flyknit

Air Jordan 1 Mid

Adidas yeezy

Yeezy Shoes

Adidas Yeezy

Yeezy 350

Nike Shoes

Nike Outlet

Yeezy

NFL Shop Official Online Store

Nike UK

Yeezy

Yeezy 350
_________________
https://www.pandoras-jewelry.com/ Pandora Jewelry
https://www.pandoraoutlet.org/ Pandora Outlet
https://www.jordanshoess.com/ Jordan Shoes
https://www.air-jordan4.com/ Air Jordan 4
https://www.charms-pandora.com/ Pandora Charms
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name
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-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