Je voudrais créer un script d'Apple qui utilisera un chemin de texte dans le presse-papiers et ouvrira une nouvelle fenêtre du Finder et ira à ce chemin.
Réponses
Trop de publicités?En supposant que le presse-papiers contient une chaîne de caractères de la forme /Users/username/path/to/file
cela devrait fonctionner :
tell application "Finder" to reveal (get the clipboard as string) as POSIX file
L'utilisation du verbe reveal
garantit que, si un chemin d'accès à un fichier est fourni, le Finder affichera ce fichier dans le dossier qui le contient plutôt que de lancer une application pour ouvrir le fichier. Si cela n'est pas souhaitable, remplacez reveal
con open
.
Pour aller plus loin, ce n'est pas tout à fait une solution directe, mais elle intègre la solution directe dans un ensemble plus large de commandes. Le code AppleScript suivant copiera dans le presse-papiers les chemins POSIX de l'élément ou des éléments actuellement sélectionnés dans le Finder, uniquement si le Finder est l'application principale. Dans le cas contraire, il copiera dans le presse-papiers le texte en surbrillance (qui serait un chemin d'accès à un fichier de style HFS ou POSIX) de la fenêtre actuelle de l'application la plus en vue, et révélera l'élément dans le Finder.
J'ai enregistré ce code AppleScript sous le nom de "Copy File Paths From Finder Or Go To Folder.scpt" dans mon dossier /Users/Mon nom court/Bibliothèque/scripts/, ce qui le rend disponible pour être utilisé à partir de n'importe quelle application, en le sélectionnant dans le menu scripts de la barre de menu.
Je trouve cette solution beaucoup plus pratique que l'utilisation de la commande "Aller au dossier" intégrée au Finder.
tell application "Finder" to set finderIsFrontmost to frontmost
if finderIsFrontmost then
-- Copy Selected Files In Finder, As Path Names
tell application "System Events" to keystroke "c" using {option down, command down}
else
-- Copy Selected File Path Text In Frontmost App (HFS or POSIX Style Paths)
tell application "System Events" to keystroke "c" using {command down}
delay 0.1
-- The "-R" Reveals Copied File Path In Finder, Rather Than Opening If It's A Path To A File
try
do shell script "open -R " & quoted form of (the clipboard)
on error
try
do shell script "open -R " & quoted form of POSIX path of (the clipboard)
on error errMsg number errNum
display alert errMsg message ¬
"Either The File Or Folder No Longer Exists" & linefeed & linefeed & "OR" & linefeed & linefeed & ¬
"The Selected Text Contains Starting Or Trailing White Spaces" & linefeed & linefeed & ¬
"Please Make Sure Your Selected Text Has No Empty Spaces At The Beginning Or End Of Your Selection" as critical buttons {"OK"} giving up after 20
end try
end try
end if