AppleScript - Comment remplacer un alias par son original |
Bienvenue invité ( Connexion | Inscription )
AppleScript - Comment remplacer un alias par son original |
14 May 2007, 11:46
Message
#1
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 1 944 Inscrit : 2 Oct 2004 Membre no 24 540 |
Bonjour,
J'ai besoin d'un coup de main en AppleScript que j'ai complètement largué depuis des lustres... Un truc sans doute très simple... Comment remplacer un alias par son original (en le copiant et en écrasant l'alias du coup)? Pour expliquer le pourquoi... J'ai un dossier plein de fichiers (les originaux, des JPEG en l'occurence) Un autre dossier avec des sous dossiers (peu importe, je suis près à appliquer le script sur chaque dossier) pour classer ces centaines de fichiers. Dans cet autre dossier donc des alias des fichiers contenus dans le premier dossier. Je dois faire une manip sur les fichiers qui malheureusement ne fonctionne que sur les originaux directement. Or, j'ai besoin du classement pour effectuer cette manip et je ne veux pas le perdre. Merci d'avance, ça urge... Addendum: J'ai bien trouver un script shell qui convertit les alias en symlinks, ce qui devrait me permettre de faire ma manip mais le problème c'est que le finder ne permet pas de faire des liens symboliques à la "mano" et que du coup 1/ je vais me retrouver avec des alias et des liens symboliques et que 2/ ça m'oblige à être sur de mon classement avant de faire la conversion... Ce message a été modifié par Xdave - 14 May 2007, 11:57. |
|
|
14 May 2007, 12:23
Message
#2
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 1 778 Inscrit : 21 Apr 2004 Lieu : St Etienne Membre no 17 938 |
Salut,
En gros ça donne : CODE set theAlias to choose file tell application "Finder" set originalFile to (original item) of theAlias duplicate originalFile to container of theAlias delete theAlias end tell ps si tu as besoin de précisions, n'hésite pas... Edit : j'avais pas fais attention au coté urgent de la chose, aussi je te l'ai fait... Ce message a été modifié par zacromatafalgar - 14 May 2007, 12:36. -------------------- Nos prêtres ne sont point ce qu'un vain peuple pense,
Notre crédulité fait toute leur science. Voltaire - extrait d'Œdipe |
|
|
14 May 2007, 15:04
Message
#3
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 1 944 Inscrit : 2 Oct 2004 Membre no 24 540 |
donc après test... ça marche pas...
il faut peut-être dupliquer la structure de dossier avant ou supprimer l'alias avant, non? |
|
|
14 May 2007, 15:29
Message
#4
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 1 778 Inscrit : 21 Apr 2004 Lieu : St Etienne Membre no 17 938 |
Je t'ai envoyé un MP, je pense que tu as supprimé le mot "alias" à la fin ce qui fait que l'alias à le même nom que le fichier original...
-------------------- Nos prêtres ne sont point ce qu'un vain peuple pense,
Notre crédulité fait toute leur science. Voltaire - extrait d'Œdipe |
|
|
14 May 2007, 16:14
Message
#5
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 1 944 Inscrit : 2 Oct 2004 Membre no 24 540 |
Pile poil... c'est bien à cause de l'absence de " alias"...
En fait le finder ajoute " alias" quand tu le fais dans le même dossier (via pomme-alt drag ou pomme-L) mais si tu le fais dans un autre dossier avec un pomme-alt drag ça ne l'ajoute pas. Bon je vais me faire un batch qui ajoute ce " alias" sur tous ces alias et c'est parti... Damned tu me sauves la soirée Encore merci PS: Va falloir que je m'y mettes à AppleScript... :-/ si tu as un bon bouquin pour débutant de ce langage je suis preneur. A+ |
|
|
14 May 2007, 16:26
Message
#6
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 1 778 Inscrit : 21 Apr 2004 Lieu : St Etienne Membre no 17 938 |
Dans le MP que je t'ai envoyé il y a la fonction modifiée qui supprime les alias avant de dupliquer les originaux de manière à ce qu'il n'y ait pas de conflit de nom, il suffit de remplacer celle du droplet par la nouvelle et tu n'auras pas à rajouter "alias"...
-------------------- Nos prêtres ne sont point ce qu'un vain peuple pense,
Notre crédulité fait toute leur science. Voltaire - extrait d'Œdipe |
|
|
15 May 2007, 08:49
Message
#7
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 266 Inscrit : 12 Mar 2006 Lieu : City of Sails Membre no 57 388 |
CITATION(Xdave @ 14 May 2007, 17:14) [snapback]2208513[/snapback] Si tu as un bon bouquin pour débutant de ce langage je suis preneur. Salut, Je te conseille ces quelques liens. -------------------- |.... je suis fiu ....|
-------------------- |
|
|
6 Mar 2008, 22:51
Message
#8
|
|
Adepte de Macbidouille Groupe : Membres Messages : 117 Inscrit : 14 Jan 2003 Membre no 5 637 |
salut ! tu dis :
CITATION Addendum: J'ai bien trouver un script shell qui convertit les alias en symlinks, ... je recherche un script qui fait l' inverse : je veux convertir des symlinks en alias, saurais tu ou trouver celà ? jean |
|
|
29 Mar 2019, 14:22
Message
#9
|
|
Nouveau Membre Groupe : Membres Messages : 2 Inscrit : 29 Mar 2019 Membre no 207 736 |
Bonjour à tous,
Si je comprends bien cette manip traite les fichiers un par un. Mais comment faire pour remplacer tous les alias d'un répertoire (et ses sous répertoire) par le fichier original? J'avais trouvé la réponse sur le web il y a quelques années, et le script était même encore présent quand j'ai ouvert l'Editeur il y a une heure. Mais mauvaise manip, j'ai refermé l'éditeur et à la réouverture : plus rien. Et impossible de retrouver la réponse. Je ne vous cache pas que je me suis donc inscrit sur le forum juste pour poser cette question. Merci pour votre aide! |
|
|
30 Mar 2019, 08:37
Message
#10
|
|
Adepte de Macbidouille Groupe : Membres Messages : 171 Inscrit : 15 Mar 2008 Lieu : Lorraine Membre no 110 156 |
Bonjour,
Un petit script, pour remplacer tous les alias par leurs originaux. Si l' original est manquant, ou si le fichier est déjà un original le script ne fait rien. Il traite le dossier et ses sous-dossiers. Au lancement il demande de sélectionner le dossier à traiter. En espérant que ça te convienne. Un conseil fait une copie de ton dossier des alias, et travaille sur cette copie, on ne sait jamais Code tell application "Finder"
set chemin to choose folder with prompt "Sélectionnez le dossier contenant les Alias de fichiers" my inspecter(chemin) end tell on inspecter(un_dossier) tell application "Finder" set les_fichiers to files of un_dossier repeat with chaque_fichier in les_fichiers -- obtenir le chemin de l'original de l'alias set lefichier to chaque_fichier as string -- avec bloc try si fichier n'est pas un alias ou pas d'original donc erreur try set chemin to (original item) of file lefichier --duplique le fichier en lieu et place de l'alias duplicate chemin to un_dossier replacing yes with propeties on error the errorMessage number the errorNumber --display dialog errorMessage & "erreur pas d'original pour " & lefichier end try end repeat -- traitement des dossiers : set les_dossiers to folders of un_dossier repeat with chaque_dossier in les_dossiers -- traitement d'un dossier my inspecter(chaque_dossier) end repeat end tell end inspecter tell application "Finder" (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"}) end tell Ce message a été modifié par Zeltron54 - 30 Mar 2019, 08:40. -------------------- Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6) Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3 |
|
|
31 Mar 2019, 09:50
Message
#11
|
|
Nouveau Membre Groupe : Membres Messages : 2 Inscrit : 29 Mar 2019 Membre no 207 736 |
Merci Zeltron! Je vais essayer ça cette semaine. Bon dimanche
|
|
|
1 Apr 2019, 07:36
Message
#12
|
|
Adepte de Macbidouille Groupe : Membres Messages : 171 Inscrit : 15 Mar 2008 Lieu : Lorraine Membre no 110 156 |
Bonjour,
je viens de me rendre compte, si l'alias à été renommé, alors l'original ne remplace pas l'alias , mais s'ajoute . Pour éviter ça, il faut systématiquement supprimer l'alias avant de dupliquer l'original, pour éviter de passer par la corbeille, passer par le terminal. ce qui donne: Code tell application "Finder" set chemin to choose folder with prompt "Sélectionnez le dossier contenant les Alias de fichiers" my inspecter(chemin) end tell on inspecter(un_dossier) tell application "Finder" set les_fichiers to files of un_dossier repeat with chaque_fichier in les_fichiers -- obtenir le chemin de l'original de l'alias set lefichier to chaque_fichier as string -- avec bloc try si fichier n'est pas un alias ou pas d'original donc erreur try set chemin to (original item) of file lefichier set lefichier to quoted form of POSIX path of lefichier as string --chemin au format unix do shell script "rm " & lefichier -- efface l'alias sans passer par la corbeille duplicate chemin to un_dossier replacing yes with propeties --duplique le fichier en lieu et place de l'alias on error the errorMessage number the errorNumber --display dialog errorMessage & "erreur pas d'original pour " & lefichier end try end repeat -- traitement des dossiers : set les_dossiers to folders of un_dossier repeat with chaque_dossier in les_dossiers -- traitement d'un dossier my inspecter(chaque_dossier) end repeat end tell end inspecter tell application "Finder" (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"}) end tell -------------------- Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6) Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3 |
|
|
Nous sommes le : 18th April 2024 - 12:47 |