Folker •---->


Anmeldedatum: 11.12.2000 Beiträge: 649 Wohnort: Holsteinische Schweiz
|
Verfasst am: 02.10.2003 - 15:12 Titel: Zeitstempel als Datei- bzw. Ordnername |
|
|
Das Problem ereilt jeden mal: Man braucht eindeutige Ordner- oder Dateinamen bzw. möchte in einem Script viele Ordner / Dateien anlegen lassen ohne wg. evtl. vorhandener Dateien gestört zu werden (error) und ohne irgendwelche Abfragen ob der Name schon vergeben ist. Es bietet sich der Zeitstempel an. Dieses Beispiel kann je Sekunde einen einmaligen Namen generieren. Da muss halt jeder für sich prüfen, ob das reicht oder ob sein Script mehr Dateien/Ordner je Sekunde anlegen muss. Dann ist das hier nicht so geeignet und muss ausgebaut werden. Die Uhrzeit wird der Einfachheit halber als Sekundenzahl ausgegeben.
Dank OS X sind lange Dateinamen möglich, OS 9 Anhänger werden die Länge des neuen Namens prüfen müssen!
--------Scriptanfang
property theMonthList : {mJanuary:1, mFebruary:2, mMarch:3, mApril:¬
4, mMay:5, mJune:6, mJuly:7, mAugust:8, mSeptember:¬
9, mOctober:10, mNovember:11, mDecember:12}
set temp to "SehrlangerNameundnochlängeralsgedachtundnochlängerundlänger"
set theFold to choose folder with prompt "Bitte Zielordner auswählen:"
set theNewName to (gib_Zeitstempel(current date) & "_" & temp)
--Ordner erzeugen:
tell application "Finder" to make new folder at theFold with properties {name:theNewName as string}
set theFold to the result as string
--Datei erzeugen:
schreibeData((theFold & theNewName & ".txt"), "Testtext")
on schreibeData(theP, theText)
try
set theF to open for access file theP with write permission
set eof of theF to 0
write theText to theF
close access theF
on error
try
close access theF
on error
close access file theP
end try
end try
end schreibeData
on gib_Zeitstempel(theDate)
return ((((year of theDate) as string) & "_" & (Get_Obj(my theMonthList, "m" & month of theDate)) as string) & "_" & (day of theDate) as string) & "_" & ((time of theDate) as string)
end gib_Zeitstempel
-- ----------------------------------------------
-- get property from script or record (by R23) siehe auch: (http://homepage.mac.com/richard23/)
-- ----------------------------------------------
on Get_Obj(theObj, theProp)
tell (run script "me
on f(theObj)
return theObj's " & theProp & "
end f") to return f(theObj)
end Get_Obj
----------Scriptende _________________ Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign |
|