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

Datum-Wandler TT.MM.JJ-->JJ.MM.TT 31.12.05-->05.12.31

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


Anmeldedatum: 10.07.2003
Beiträge: 1529
Wohnort: Olten-CH

BeitragVerfasst am: 11.07.2005 - 09:56    Titel: Datum-Wandler TT.MM.JJ-->JJ.MM.TT 31.12.05-->05.12.31 Antworten mit Zitat

(31.12.05-->05.12.31) Re-Edit aus aktuellem Anlass Weihnachts-Smiley

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
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1529
Wohnort: Olten-CH

BeitragVerfasst am: 31.12.2005 - 12:48    Titel: Dem File/Ordner-Namen ein aktuelles Datum zufügen Antworten mit Zitat

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 Rolling Eyes
Dankbar um jede Hilfe, Gruss Neujahr an alle
WillySpirig
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> Pool 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