Écrit par : Tordek 4 Aug 2004, 12:46
Salut a tous je voudrais savoir comment on pourais changer un caractere dans le nom d'un dossier par un autre caractere et etc avec les autre caractere.Merci
Écrit par : schlum 4 Aug 2004, 13:02
QUOTE(Tordek @ 4 Aug 2004, 13:46)
Salut a tous je voudrais savoir comment on pourais changer un caractere dans le nom d'un dossier par un autre caractere et etc avec les autre caractere.Merci
[right][snapback]799109[/snapback][/right]
Euh tu pourrais préciser un peu ?
Dans un programme ? Quel langage ? Qu'est-ce que tu veux faire exactement ? Comprends rien
Écrit par : Tordek 4 Aug 2004, 13:12
A ouai c'est vrai ce n'est pas parceque c'est clair dans ma tete que ce le sera dans la votre.Dans applescript je veut pouvoir changer les caractère du nom d'un dossier par d'autre caractere mais cela sans changer directement le nom c'est a dire changer par example le caractere 1 pui le dernier caractere et tans que j'y suis comment changer les caractere d'un fichier avec la commande Open for acces toujour dans applescript
Écrit par : f_cam 4 Aug 2004, 13:22
Donc tu veux récupérer le nom d'un dossier et ensuite manipuler cette chaîne de caractères?
Écrit par : Tordek 4 Aug 2004, 13:31
Voila c'est axactement sa
Écrit par : Tordek 4 Aug 2004, 19:17
En fait il me faudrais celement connaitre une commande pour ne pas changer le nom mais juste un caractere dans le nom d'un dossier
Écrit par : Fredo d;o) 4 Aug 2004, 23:07
QUOTE(Tordek @ 4 Aug 2004, 19:17)
En fait il me faudrais celement connaitre une commande pour ne pas changer le nom mais juste un caractere dans le nom d'un dossier
Tel que tu le demandes, ça n'existe pas en AS pur (peut-être avec du shell, mais je ne suis pas calé pour l'affirmer), en somme, pour changer un caractère pour un autre dans le nom d'un dossier (ou fichier d'ailleurs) tu es obligé de manipuler la chaîne de caractères puis de changer entièrement le nom du dossier par le nouveau...
Heu...
ché-pas-si-chui-clair-là
Au fait, plus clairement, il faut faire un simple "chercher/remplacer"... voici une piste :
CODE
tell application "Finder"
set Doss to (choose folder) --On choisi un dossier
set Nom to name of Doss --On récupère son nom
--On note le caractère à remplacer
set CarOld to text returned of (display dialog "Indiquez le caractère à remplacer :" default answer "")
--On note le caractère de remplacement
set CarNew to text returned of (display dialog "Indiquez le caractère de remplacement :" default answer "")
--On fait le chercher/remplacer
set text item delimiters of AppleScript to CarOld
set Lst to text items of Nom
set text item delimiters of AppleScript to CarNew
set Nom to Lst as text
set name of Doss to Nom --On applique le nouveau nom au dossier
end tell
Écrit par : Tordek 5 Aug 2004, 10:15
Merci mais je pence avoir presceque trouvé le moyen pour le faire il suffi de déterminer une variable qui est le debut du mot (donc qui s'arete avan le caractere en question) de déterminer le nouveau caractere pui de déterminer la fin.Mais je pence que je ne me suis pas exactement bien exprimé en fait je veut pouvoir changer tous les caractere du nom d'un dossier chaqun leur tour dans un repeat.Hier soir j'ai presque trouvé comment faire mais mon script ne change que les 2 premier caractere puis me dit "Imposssible de rendre les donné dnas le type atendu" en surlignan la ligne ou j'indique le nom de mon dossier et j'en ai eu marre je trouverais bien un moyen auter que dans applescript merci quand meme
Écrit par : Fredo d;o) 5 Aug 2004, 10:29
Et si tu postait ici ton bout de code ?
On pourrais peut-être te donner un coup de main, non ?
Écrit par : Tordek 5 Aug 2004, 10:34
Ouais c'est vrais donc voici mon code :
CODE
property NR : 1
set x to choose folder
tell application "Finder"
set y to name of x
set w to ("" & y)
set z to count y
repeat z times
set y to name of x
set z to count y
set w to ("" & y)
set C to character NR of y
set n to ASCII number C
set ajouter to 10
set NC to ASCII character (n + ajouter)
if NR = 1 then
set debu to "$"
else
set debu to get text of characters 1 thru NR of w
end if
set lz to (z - 1)
if NR = lz then
set fin to "$"
else
set fin to get text of characters (NR + 1) thru z of w
end if
set name of x to debu & NC & fin
set NR to NR + 1
end repeat
end tell
set NR to NR - NR + 1
Vous l'aurez compris en fait sa change un caractere pas un caractere aléatoire dans le nom du dossier.C'est pour cripter le nom d'un dossier si on a pas de mot de passe
Écrit par : Fredo d;o) 5 Aug 2004, 12:39
QUOTE(Tordek @ 5 Aug 2004, 10:34)
C'est pour cripter le nom d'un dossier si on a pas de mot de passe
Et bein alors, il fallait le dire plus tôt
Bon, pas trop bien compris ce que ton code cherchait à faire (prend l'habitude de nommer tes variables d'une manière un peu plus explicite que des simples lettres, j'ai passé une démi heure à essayer de comprendre
)...
Enfin, voici une petite solution que je viens de faire (vite fait, je n'ai malheureusement pas trop le temps de fignoler aujourd'hui) : http://fredomkb.free.fr/projets/EncryptDecrypt/EncryptDecrypt.sit (9 ko).
Mais l'essentiel du code, c-à-d les routines d'encryptage et de décryptage, ont été faites par quelqu'un d'autre, il s'agit de Serge S., et tu peut trouver ses routines, et bien d'autres, dans l'espace dédié à AppleScript sur son site web : http://wirinum.free.fr/.
Quant à l'utilisation de ce petit script, c'est assez simple :
1. Fait un glisser/déposer des éléments que tu veux crypter sur l'icône du script :
2. Une boîte de dialogue va apparaître te demandant d'inscrire la clef de cryptage (choisi quelque chose de pas trop compliqué, ça serait bête que tu l'oublies par la suite) :
3. Enfin, clique sur le bouton "Encrypter", et voilà le résultat :
Pour décrypter les noms, c'est exactement la même opération mais en cliquant sur le bouton "Décrypter" et en fournissant bien-sûr exactement la même clef de cryptage (ça me paraît tellement évident que je me demande pourquoi je le dis !?
)...
En tout cas, si tu veut utiliser le script d'une autre manière, pas de problème, le code est OpenSource, c-à-d que tu peut l'éditer et l'utiliser, l'adapter, etc. dans tes propres projets...
Seule condition, c'est que tu fasse mention dans le code de ton script des auteurs originaux (Merci
).
Voilô
Écrit par : Tordek 5 Aug 2004, 13:03
Merci beaucoup sa m'evitera de perdre mon temps a chercher le script pour les variable c'est parceque je ne soulias pas tro perdre de temps a écrire des variable super longue.En tous cas cela m'aide bien.
Écrit par : f_cam 5 Aug 2004, 13:21
Tu gagnes peut-être quelques secondes à taper des noms plus court, mais là prochaine fois tu perdra bien plus de temps en essayant de comprendre ton code.
Écrit par : Fredo d;o) 5 Aug 2004, 13:51
QUOTE(f_cam @ 5 Aug 2004, 13:21)
Tu gagnes peut-être quelques secondes à taper des noms plus court, mais là prochaine fois tu perdra bien plus de temps en essayant de comprendre ton code.
Je ne l'aurais pas dit mieux !
Donc, conseil à suivre
Écrit par : Tordek 5 Aug 2004, 14:59
Je sais maintenant je définit bien mes variable.Pour le code je n'aurais en fait pas pencé a utiliser une routine (car je ne savais pas les faire!!!!) je vais peut etre me créer ma propre routine pour me simplifier la chose