3 votes

Applescript pour copier un dossier (et son contenu) à l'emplacement actuel ?

J'essaie de créer un bouton sur ma barre d'outils du Finder, alimenté par applescript, pour faire une copie d'un dossier défini (par exemple /Users/James/doc) et de tous les fichiers/sous-dossiers qu'il contient à l'emplacement actuel dans le Finder.

La motivation est que j'ai un format de documentation LaTeX avec des sous-dossiers tels que img que j'ajoute normalement à chaque nouveau projet de codage dans un dossier appelé doc, donc avoir un bouton qui ajoute ce dossier me ferait gagner du temps au lieu de le copier manuellement à chaque fois.

Mes compétences en applescript ne sont pas très bonnes, j'ai essayé :

1)

set x to ((the target of the front window) as text) as alias
set y to ((folder "Users/James/doc") as text) as alias

tell application "Finder"
    duplicate y to x
end tell

l'erreur que j'obtiens en exécutant cette première tentative est : Can’t make target of window 1 of «script» into type text.

2)

tell application "Finder"
    duplicate folder "Users/James/doc" to (the target of the front window)
end tell

qui, lorsqu'il est exécuté, donne l'erreur Finder got an error: Can’t set target of window 1 to folder "Users/James/doc".

(PS : Je sais déjà Comment transformer les applescripts en boutons du Finder ? )

2voto

joelseph Points 10262

Le script suivant devrait fonctionner :

property y : POSIX file "/Users/James/doc" as alias

tell application "Finder"
    set x to target of window 1 as alias
    duplicate y to x
end tell

En fixant y en tant que propriété (et en tant qu'alias), le script ne devrait pas être interrompu par un simple renommage ou déplacement du dossier à copier.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X