#!/bin/sh # the next line restarts using tclsh \ exec sudo tclsh "$0" "$@" ################################################################## # Ceci est un script TCL # il change la faon dont le finder nomme les copies de fichiers ################################################################## # # * le guide d'utilisation est contenu dans les commentaires # * tout a c'est GPL on va dire # * fait par Spyro # prŽcaution d'usage: ######################################################## ######################################################## ### ATTENTION ### ### CE SCRIPT MODIFIE UN LOGICIEL ESSENTIEL DE VOTRE ### ORDINATEUR. JE NE PEUX æTRE TENU RESPONSABLE DES ### CONSƒQUENCES DE CETTE MODIFICATION. SI VOUS AVEZ ### DES DOUTES. NE L'UTILISEZ PAS. ### ######################################################## ######################################################## ######################################### # POUR UTILISER CE SCRIPT : DEUX ETAPES ######################################### # # [1] - personnaliser (ou pas) le nom des copies de fichiers en modifiant ce document # # [2] - exŽcuter le script contenu dans ce document # #---################################################## # 1 # PERSONNALISATION DU NOM DES COPIES DE FICHIERS #---################################################## # # Pour personnaliser le script, ouvrir ce fichier avec TextEdit (quoi c'est pas dŽjˆ fait ?) # et changer la valeur de la variable copie_de ci-dessous, # # mais ATTENTION ˆ bien respecter quelques rgles ŽlŽmentaires: # ## (1) ^0 reprŽsente le nom du fichier copiŽ ## - ne pas l'oublier !!!! ## - ne pas en mettre plusieurs ## - ne pas mettre d'autre caractre ^ ## (2) pas de caractres spŽciaux (guillemets, accents "\" "/" ":" "$" "*" etc.) ## (3) ne pas commencer le nom par un point (le nouveau fichier serait invisible) ## (4) ne pas mettre de retour ˆ la ligne ou de tabulations # # D'UNE FACON GENERALE, ESSAYER DE N'UTILISER QUE DES CHIFFRES DES LETTRES # ET DES ESPACES ET EVITER A TOUT PRIX LES CARACTERES INTERDITS DANS LE FINDER # # vous pouvez mettre des espaces et des parenthses, je n'en sais pas plus :-) # # Rappel: l'extension du fichier est retirŽe du nom original et rajoutŽe # ˆ la fin du nouveau nom (par le Finder) # # Le nom original donnŽ par le Finder aux copies est: "Copie de ^0" # Si je me souviens bien (non moi je n'avais pas fait de backup, # je ne peux pas vŽrifier) # ############################################## ##############################################<<< C'EST LA QU'ON PERSONNALISE ## # Ne modifier que ce qui est entre guillemets: set copie_de "^0 copie" # Rappel: ^0 reprŽsente le nom du fichier copiŽ, # il doit toujours tre prŽsent. ##############################################<<< VOILA C'ETAIT LA ## ############################################## #---################################################## # 2 # EXECUTION DU SCRIPT #---################################################## # # Pour lancer ce script: # # (1) il vous faut tre administrateur de la machine # (si vous tes le seul utilisateur, c'est le cas en principe) # # (2) ouvrir le terminal (dans /Applications/Utilitaires/) # # (3) taper dans le terminal les 3 lettres "sh " sans les guillemets # # (4) glisser et dŽposer ce fichier depuis le bureau dans la fentre du terminal # (le fichier que vous tes en train de lire) # cela ajoute le chemin du fichier ˆ la ligne de commande # # (5) appuyer sur la touche entrŽe. # # (6) entrez votre mot de passe (et appuyez sur entrŽe ˆ nouveau) # (note: les lettres entrŽes ne s'affichent pas) # # Le script fait quitter le Finder, effectue la modification et relance le Finder. # Et c'est tout ce que vous avez ˆ faire. ######################################################## ######################################################## ### ### ET MAINTENANT C'EST LE SCRIPT PROPREMENT DIT ### ne modifiez rien sans savoir ce que vous faites ### ######################################################## ######################################################## # AmŽlioration possibles: # Žventuellement autoriser ˆ donner la chaine de remplacement en paramtre # on pourrait aussi ajouter une vŽrification de la chaine de remplacement # on pourrait enfin ajouter une option pour rŽtablir le fichier de backup # ou rŽtablir la chaine originale # # MAIS de toute faon la seule amŽlioration intŽressante c'est de faire # la mme chose avec une application ou un applescript double-cliquable. # on peut faire plus de vŽrifications !! if ![string match "*^0*" $copie_de] { set copie_de "^0 copie" } # on prŽvient qu'on quitte le Finder puts [encoding convertfrom macroman "On fait quitter le Finder, paniquez pas."] puts [encoding convertfrom macroman "Et on attend quelques secondes avant d'y aller."] # et on quitte donc le Finder exec osascript -e {tell application "Finder" to quit} after 4000 # voila on est seuls on peut y aller :-) # adresse du fichier original set strings_file "/System/Library/CoreServices/Finder.app/Contents/Resources/French.lproj/Localized.strings" # lecture du fichier original set fpin [open $strings_file r] fconfigure $fpin -encoding unicode set original [read $fpin] close $fpin # lu # backup du fichier original (si pas dŽjˆ) if {![file exists ${strings_file}.backup]} { file copy $strings_file ${strings_file}.backup } # hop c'est rangŽ # modification du fichier # (rechercher la chaine adequat et la remplacer) regsub -line {^"N4" = "(.*)";$} $original \ [format "\"N4\" = \"%s\";" $copie_de] nouveau # # Žcriture du fichier modifiŽ set fpout [open $strings_file w] fconfigure $fpout -encoding unicode puts -nonewline $fpout $nouveau close $fpout # Žcrit # fais un peu de comm' avec l'utilisateur puts [encoding convertfrom macroman "Voila, le remplacement a ŽtŽ effectuŽ."] puts [encoding convertfrom macroman "Les copies de fichier s'appelleront $copie_de."] puts [encoding convertfrom macroman "Quant ˆ moi, je relance le Finder."] puts "" puts [encoding convertfrom macroman "N'oubliez pas que vous pouvez utiliser ce script"] puts [encoding convertfrom macroman "autant de fois que vous le voudrez en le modifiant."] # voila c'est bon # et on relance le finder proprement (c'est ˆ dire avec Applescript) exec osascript -e {tell application "Finder" to launch} # voila exit 0