Marqueur de temps (time stamp)

© Christian PAULUS. Document créé le 24 juillet 2010 , mis à jour le 3 août 2010.

Ce qui est simple est toujours faux. Ce qui ne l'est pas est inutilisable. Paul Valéry (Mauvaises pensées)

Accueil du site > Astuces > MacOSX > Marqueur de temps (time stamp)

Applescript/Automator / MacOsX 10.6 (Snow Leopard)

Besoin d’insérer la date courante dans un document texte, à la positiondu curseur ?

Quelques exemples d’Applescript à transformer en service via Automator.

Obtenir la date via le terminal

En utilisant la commande unix date :

-- get date from terminal
set ma_date to do shell script "date"
-- copy result in clipboard
set the clipboard to ma_date
-- call events
tell application "System Events"
        -- paste
        keystroke "v" using {command down}
end tell
-- wait a few time
delay 0.2 -- May need to be longer.

En copie d’écran, ça donne :

Automator, date via le shell {PNG}

Ne pas oublier, comme dans les exemples suivants, de définir le script en tant que service et de définir les préférences :
- Réception du service Aucune entrée
- en ordre N’importe qu...., ou définissez l’éditeur de texte préféré.

Automtar, les préférences pour le service {PNG}

Enregistrez votre script sous le nom Insérer la date (shell)

Pour insérer la date dans votre document, lancez votre éditeur de texte et
- placez votre curseur à l’endroit souhaité de votre document
- allez dans le menu Services et sélectionnez "Insérer la date (shell)"

L’exemple ci-dessus donne un résultat du style : Sat Jul 24 15:23:39 CEST 2010

Obtenir la date via le terminal (2)

Légèrement plus compliqué à installer, mais diablement plus efficace, plus rapide : ecrire un petit script shell et invoquer AppleScript pour insertion de la date à la position du curseur.

Créez le script shell nommé "Date_maintenant.sh" dans votre répertoire  /bin/ contenant :

#!/bin/sh

DATE=`date`
osascript -e "tell application \"System Events\" to keystroke \"$DATE\""

Donnez les droits d’exécution (chmod a+x) à ce script.

Ajoutez un alias de ce script dans votre bibliothèque de scripts (Bibliothèque:Scripts).

La date en Applescript

Sans faire appel au terminal, un classique :

-- get date from applescript
set ma_date to (current date) as string
-- copy result in clipboard
set the clipboard to ma_date
-- call events
tell application "System Events"
        -- paste
        keystroke "v" using {command down}
end tell
-- wait a few time
delay 0.2 -- May need to be longer.

qui donnera un résultat du style :

samedi 24 juillet 2010 15:46:41

Variante Applescript a-la-unix

Variante de ce dernier script : tenter de ressembler au premier résultat :

-- get date from applescript
set ma_date to current date
set mon_jour to weekday of ma_date as string
set mon_jour to characters 1 through 3 of mon_jour
set res to mon_jour & " "
set y to year of ma_date
set m to month of ma_date as string
set m to characters 1 through 3 of m
set d to day of ma_date
-- add "0" if necessary
if d < 10 then set d to "0" & d
set res to res & m & " " & d & " "
set mon_heure to time string of ma_date
set res to res & mon_heure & " CEST " & y as string
-- copy result in clipboard
set the clipboard to res
-- call events
tell application "System Events"
        -- paste
        keystroke "v" using {command down}
end tell
-- wait a few time
delay 0.2 -- May need to be longer.

La date du jour en AppleScript, version courte

Jour, mois et année seulement ?

-- get short date from applescript
set ma_date to short date string of (current date)
-- copy result in clipboard
set the clipboard to ma_date
-- call events
tell application "System Events"
        -- paste
        keystroke "v" using {command down}
end tell
-- wait a few time
delay 0.2 -- May need to be longer.

qui donnera un résultat du style :

24/07/10

Plussoyez !

Les forums sont fermés.