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


Anmeldedatum: 10.07.2003 Beiträge: 1517 Wohnort: Olten-CH
|
Verfasst am: 11.07.2005 - 09:56 Titel: Datum-Wandler TT.MM.JJ-->JJ.MM.TT 31.12.05-->05.12.31 |
|
|
(31.12.05-->05.12.31) Re-Edit aus aktuellem Anlass
Ein so "Text-formuliertes" Datum :
= TT.MM.JJ ZB: 27.6.05
welches den Anfang eines File-/Ordner-Namens bildet,
kehrt das folgende Skript bei angewandter Droplet-Technik in diese Form um:
->JJ.MM.TT ZB: 05.06.27
(ohne dabei den Rest des File-/Ordner-Namens und auch nicht den Speicherort zu verändern)
ZB:
OrdnerOdFileName 1 = " 27.6.05 OrdnerOdFileName"
wenn man den Ordner oder das File auf dem Finder über das Skript( = droplet) zieht, wird es umgetauft zu:
OrdnerOdFileName 2 = " 05.06.27 OrdnerOdFileName"
Das umgetaufte Objekt bleibt wo es ist und erhält noch eine Etikette.
Praktisches Anwendungs-Beispiel:
Man hat oft einen Ordner/file, von dem man sich immerwieder "Backup-artig" ein Duplikat sichern will mit [æ+D]:
um diese Duplikate nach Datum erkennen und sortieren zu können, ändere ich den OrdnerOdFileName "von Hand" (oder mit AppleSkript) derart:
"OrdnerOdFileName Kopie" --> "31.12.05 OrdnerOdFileName Kopie"
Um beim so entstandenen Namen eine Textsortierung zu erreichen, welche der Datums- Sortierung analog wird, ziehe ich den Ordner
"31.12.05 OrdnerOdFileName Kopie" über das folgende, als Droplet (Programm, application,...) gespeicherte AppleSkript:
Zitat: | --Skript heisst: "JJ.MM.TT"
global FileName, neuerDateiname
--=================================
on run
set ReferenzZuGeChoostFile to choose file
open ReferenzZuGeChoostFile
end run
--oooooooooooooooooo
on open ReferenzZuGeChoostFile
set the InfoForReferenzZuGeChoostFile to info for ReferenzZuGeChoostFile
set FileName to name of InfoForReferenzZuGeChoostFile
--return FileName
set UmkehrDatum to my DatumsUmkehrER()
--return neuerDateiname
tell application "Finder"
activate
set ReferenzZuGeChoostFile to ReferenzZuGeChoostFile as alias
--ohne Alias klappts nur wenn run gestartet wird, nicht aber wenn file drüber gezogen wird
set label index of ReferenzZuGeChoostFile to 1
--XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--hier käme Fehler nur wenn file übers Skript(Files_DatumNamenanteil_Tauschen) ZIEHE
--und ReferenzZuGeChoostFile nicht as alias re-definiert würde
--ANSONSTEN LäUFTS SUPER OS9_CLASSIC_OSX>1
--XXXXXXXXXXXXXXXXXXXXXXXXXXX
set name of ReferenzZuGeChoostFile to neuerDateiname
end tell
end open
--ooooooooooooooooooo
on DatumsUmkehrER()
(*--diese Variante geht vom Clipboard-Inhalt aus
set the clipboard to "06.07.05 13824 19'917.90"
set ClipperTex to words of (the clipboard as string)
*)
set ClipperTex to words of (FileName as string)
set ClipperDatumsteil to item 1 of ClipperTex
set ClipperRest to items 2 thru -1 of ClipperTex
set AppleScript's text item delimiters to "."
set Teile to text items of ClipperDatumsteil
-- nun werden Jahr und Tag vertauscht:
set Teile to {item 3 of Teile, item 2 of Teile, item 1 of Teile}
set neuesDatum to Teile as string
set AppleScript's text item delimiters to " "
set neuerDateiname to neuesDatum & " " & (ClipperRest as string)
set AppleScript's text item delimiters to ""
end DatumsUmkehrER
|
PS: ein in der Praxis oft unangenehmer Fehler hat das ganze noch: nach 31.12.05 muss man dran denken einen Pausenschlag einzufügen, sonst rechnet das droplet nicht richtig.
Die zur Datum-Um-Formatierung nötigen Code-Zeilen haben mir in verdankenswerter Weise @Snow und @Folker geliefert und sollte somit dem Forum wieder zugute kommen. _________________ Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius |
|
Nach oben |
|
 |
spirigwi •----->


Anmeldedatum: 10.07.2003 Beiträge: 1517 Wohnort: Olten-CH
|
Verfasst am: 31.12.2005 - 12:48 Titel: Dem File/Ordner-Namen ein aktuelles Datum zufügen |
|
|
spirigwi im obigen posting hat Folgendes geschrieben: | ändere ich den OrdnerOdFileName "von Hand" (oder mit AppleSkript) |
Ich habe dazu ein recht behelfsmässiges AS von Snow:
--Datum geber
on open FileLIST
repeat with EinFile in FileLIST
set d to current date
set derTag to text -2 thru -1 of ("0" & d's day)
set Monat to word 3 of ((current date) as text)
set MonatsListe to {January, February, March, April, May, June, July, ¬
August, September, October, November, December}
repeat with i from 1 to 12
if d's month = item i of MonatsListe then
set MM to text -2 thru -1 of ("0" & i)
exit repeat
end if
end repeat
set Jahr to ((year of d) as text)
set dasDatum to derTag & "." & MM & "." & Jahr
tell application "Finder"
set AlterName to name of file (contents of EinFile)
if (length of AlterName > 22) then
set NeuerName to (text 1 thru 22 of AlterName)
else
set NeuerName to AlterName
end if
set NeuerName to NeuerName & "-" & dasDatum
set name of (contents of EinFile) to NeuerName
end tell
end repeat
end open
Hier bräuchte ich Hilfe, um es so zu modellieren, dass es das Datum an die Spitze des Namens setzt und dabei die erlaubte Namenslänge so berücksichtigt, dass das Namens-Ende entsprechend von überflüssigen Buchstaben befreit wird.
Für DEUTSCHE Variablen-Namen hab ich schon mal gesorgt
Eine Variante, die das letzte Speicherdatum des Objektes abliest und in den Namen integriert wäre natürlich das Tüpfchen auf dem i
Dankbar um jede Hilfe, Gruss Neujahr an alle
WillySpirig _________________ Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius |
|
Nach oben |
|
 |
jiuer7845 •---->

Anmeldedatum: 06.04.2021 Beiträge: 521
|
|
Nach oben |
|
 |
jiuer7845 •---->

Anmeldedatum: 06.04.2021 Beiträge: 521
|
|
Nach oben |
|
 |
Nishaknapp •--->

Anmeldedatum: 16.03.2022 Beiträge: 217
|
|
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
|
|
|