©
. Document créé le 24 juillet 2010 , mis à jour le 3 août 2010.C'est le devoir de chaque homme de rendre au monde au moins autant qu'il en a reçu. Albert Einstein
Accueil du site > Astuces > MacOSX > Marqueur de temps (time stamp)
Besoin d’insérer la date courante dans un document texte, à la positiondu curseur ?
Quelques exemples d’Applescript à transformer en service via Automator.
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 :
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é.
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
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).
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 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.
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
Les forums sont fermés.