Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
elax •->

Anmeldedatum: 25.06.2004 Beiträge: 3
|
Verfasst am: 25.06.2004 - 09:15 Titel: Dateien entsprechend des Dateitypes umbenennen |
|
|
Hallo,
ich bin auf dem Gebiet AppleScript ein absoluter Newbie. Hab auch sonst nichts mit Macs zu tun (obwohl das ja schon feine Maschinen sind )
Ich will nun aber folgendes folgendes Problem lösen: auf einen Fileserver sollen Shares sowohl über Samba als auch über Netatalk freigeben werden, d.h. Windows und Macs sollen mit denselben Dateien arbeiten.
Die vorhanden Mac-Files sollen integriert werden. Aber diese Files haben ja nicht die für Windows essentiellen Dateiendungen wie .doc, .xls etc.
Wie kann ich eine Mac-Datei auslesen, den Typ bestimmen und die entsprechende Endung anhängen?
Wo wird der Dateityp beim Mac gespeichert? In den Resourceforks? Wie lese ich die aus?
Ich bin echt auf Hilfe angewiesen und hoffe hier Unterstützung zu bekommen.
Danke _________________ Zwei Dinge sind unendlich: das Weltall und die Dummheit der Menschen.
Vom Weltall wissen wir es allerdings nicht genau.
(Albert Einstein) |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 26.06.2004 - 10:34 Titel: |
|
|
Du musst per Skript den Type- und Creatorcode auslesen.
Eigentlich genügt der Typecode schon, der die Art der Datei bestimmt. Der Creatorcode beinhaltet die Information über das Erstellungsprogramm.
Auf meiner Download-Seite findest du das Skript "Was bin ich?". Das zeigt dir die nötigen Informationen an. _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
 |
elax •->

Anmeldedatum: 25.06.2004 Beiträge: 3
|
Verfasst am: 28.06.2004 - 15:51 Titel: |
|
|
Danke dir. Ich hab es jetzt so gelöst:
Code: | on ProcessIt(theFile)
tell application "Finder"
set derCreator to creator type of theFile
if (derCreator = "ttxt") and not (theFile ends with ".txt") then
set name of theFile to (name of theFile & ".txt" as string)
else if (derCreator = "MSWD") and not (theFile ends with ".doc") then
set name of theFile to (name of theFile & ".doc" as string)
else
display dialog ("FileTyp: '" & derCreator & "' Dateiname: '" & theFile & "'")
end if
end tell
end ProcessIt |
hab also nur dein Script angepasst Übrigens cooles Forum hier
Nun meine nächste Frage: wie kann ich in Dateien schreiben? Ich möchte alle Dateitypen, die gefunden werden, in eine datei schreiben lassen. Am besten nicht doppelt.... _________________ Zwei Dinge sind unendlich: das Weltall und die Dummheit der Menschen.
Vom Weltall wissen wir es allerdings nicht genau.
(Albert Einstein) |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 28.06.2004 - 18:50 Titel: |
|
|
Meinst du mit Dateityp den Creator-Code?
Dann einfach eine leere Liste erstellen. Nachdem du den Creator type ermittelt hast, prüfst du, ob er bereits in der neuen Liste enthalten ist. Wenn nicht, dann füge ihn hinzu.
Beispiel:
Hier habe ich schon mal eine Liste mit creator types erstellt, die ich dann überprüfe.
set Beispiel_Liste to {"ttxt", "8BIM", "GKON", "ttxt", "FMP3", "8BIM", "8BIM", "ttxt"}
set TypeList to {}
repeat with i from 1 to count of Beispiel_Liste
set theCreator to item i of Beispiel_Liste
if theCreator is not in TypeList then
set the end of TypeList to theCreator
end if
end repeat
return TypeList
Als Ergebnis bekommst du:
{"ttxt", "8BIM", "GKON", "FMP3"}
Es sind also keine doppelten Einträge vorhanden.
Um die Einträge nun in eine Textdatei zu schreiben, wandle ich den Text zuerst in einen String um (man könnte auch die Liste in eine Datei schreiben, sieht aber etwas seltsam aus).
set AppleScript's text item delimiters to ", "
set DateiText to TypeList as string
set AppleScript's text item delimiters to ""
set DateiPfad to (path to desktop as string) & "MeineDatei.txt"
set RefNum to (open for access file ¬
DateiPfad with write permission)
set eof of RefNum to 0
try
write DateiText to RefNum
close access RefNum
on error
close access RefNum
end try
Zum besseren Verständnis, was bei der Schreiboperation so abgeht, lies bitte meine beiden Workshop-Artikel zum Write-Befehl. Ich denke, die sind ganz verständlich geschrieben (zumindest habe ich mich bemüht).
Im obigen Beispiel habe ich die einzelnen Werte durch ", " - also Komma plus Leerzeichen getrennt. Das geschieht, indem man AppleScript's text item delimiters entsprechend setzt. Du könntest auch 'return' - also eine Zeilenschaltung als text item delimiter nehmen, dann steht jeder Eintrag aus der Liste in einer extra Zeile der Textdatei. _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
 |
elax •->

Anmeldedatum: 25.06.2004 Beiträge: 3
|
Verfasst am: 29.06.2004 - 15:29 Titel: |
|
|
Danke. Ich hab es jetzt etwas anders gelöst, aber es geht auch
Nun meine nächste Frage: gibt es eine Übersicht über die wichtigsten Dateitypen und deren Bezeichnung unter Mac?
z.B. XCEL - Excel, MSWD - Word, ttxt - Textfile...
Gruß
Elax _________________ Zwei Dinge sind unendlich: das Weltall und die Dummheit der Menschen.
Vom Weltall wissen wir es allerdings nicht genau.
(Albert Einstein) |
|
Nach oben |
|
 |
|
|
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
|
|
|