Me gustaría crear un Apple script que utilice una ruta de texto en el portapapeles y abra una nueva ventana del Finder y vaya a esa ruta
Respuestas
¿Demasiados anuncios?Suponiendo que el portapapeles contiene una cadena de la forma /Users/username/path/to/file
Esto debería funcionar:
tell application "Finder" to reveal (get the clipboard as string) as POSIX file
El uso del verbo reveal
garantiza que, si se suministra una ruta de acceso a un archivo, el Finder mostrará ese archivo en la carpeta que lo contiene en lugar de lanzar una aplicación para abrir el archivo. Si esto no es deseable, sustituya reveal
con open
.
Dando un paso más, esto no es del todo una solución directa, sino que incorpora la solución directa dentro de un conjunto más amplio de comandos. El siguiente código AppleScript copiará en el portapapeles las rutas POSIX del elemento o elementos actualmente seleccionados en el Finder, sólo si el Finder es la aplicación principal. En caso contrario, copiará en el portapapeles el texto resaltado (que sería una ruta de archivo de estilo HFS o POSIX) de la ventana actual en la aplicación más frontal, y revelará el elemento en Finder.
He guardado este código AppleScript como "Copy File Paths From Finder Or Go To Folder.scpt" en mi carpeta /Users/My Short Name/Library/scripts/, lo que hace que esté disponible para utilizarlo desde cualquier aplicación, seleccionándolo en el menú scripts de la barra de menús.
Me parece que esta solución es mucho más conveniente que utilizar el comando "Ir a la carpeta" del 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
0 votos
Los comentarios no son para ampliar la discusión; esta conversación ha sido trasladado al chat .