2 votos

¿Borrar un archivo actualmente abierto directamente en la aplicación?

La capacidad de OS X de renombrar o mover un archivo actualmente abierto dentro de la aplicación es realmente útil:

enter image description here

Para dar un paso más, ¿hay algún truco para realmente borrar el archivo actual dentro de la aplicación también? (Obviamente, "cerrar" el archivo tendría que ser la segunda parte del proceso).

Ahorraría mucho tiempo al no tener que cerrar el archivo, localizarlo manualmente en el Finder y luego moverlo a la Papelera, sino que simplemente lo eliminaría allí mismo.

He intentado arrastrar el "archivo" (con el icono del archivo a la izquierda del nombre del archivo en el título de la ventana) al icono de la Papelera en el Dock, pero eso no lo mueve realmente a la Papelera.

Lo mejor que se me ocurre es añadir ~/.Trash como un elemento en los Favoritos del Finder, a continuación, cambie el 'Dónde' en la captura de pantalla anterior para el acceso directo favorito creado 'Basura', seguido de un Cmd + W para cerrarlo.

Es un poco torpe, pero no está mal.

¿Existe algún flujo de trabajo de Automator o AppleScript (que pueda asignarse fácilmente a una tecla de acceso directo) para agilizar el proceso anterior? Un único AppleScript que pudiera realizar tanto el paso de mover el archivo actual al directorio 'Papelera' como la posterior pulsación de la tecla Cmd+W después de un intervalo de 200ms, por ejemplo, sería ideal.

1voto

Fuzzy Purple Monkey Puntos 702

Yo uso este AppleScript:

tell application (path to frontmost application as text)
    set f to POSIX file (path of document 1) as text
    close document 1
end tell
tell application "Finder" to move f to trash

Una versión más compleja que funciona con algunas aplicaciones más:

try
    tell document 1 of application (path to frontmost application as text)
        set f to path
        close
    end tell
on error
    tell application "System Events" to tell (process 1 whose frontmost is true)
        value of attribute "AXDocument" of window 1
        set f to do shell script "x=" & quoted form of result & ";x=${x/#file:\\/\\/};x=${x/#localhost/};printf ${x//%/\\\\x}"
        keystroke "w" using command down
    end tell
end try
POSIX file f
tell application "Finder" to move result to trash

0voto

Baczek Puntos 150

Prueba esto AppleScript en un servicio de Automator (puede asignar una tecla de acceso rápido a cualquier servicio):

on run
    set x to path to frontmost application as string
    tell application x to if exists document 1 then
        try
            try
                set p to path of front document -- some app use --> path of document
                p
            on error
                set p to file of front document -- some app use -->  file of document
            end try
            my moveToTrash(p)
            close front document
        on error
            my speakText("can't delete this document")
        end try
    else
        my speakText("You have no open document in that application")
    end if
end run

on moveToTrash(p)
    if p starts with "/" then -- some app return posix path
        set tFile to p as POSIX file as alias
    else -- some app return HFS path
        set tFile to p as alias
    end if
    tell application "Finder" to delete tFile
end moveToTrash

on speakText(t)
    say t
end speakText

He probado el script en estas aplicaciones ( "BBEdit", "TextWrangler", "TextEdit", "Preview" "QuickTime Player", "Pages", "Numbers", "Keynote", "Automator", "AppleScript Editor", "Xcode" ) en Mavericks

Este script no funcionará con algunas aplicaciones que no sean de Apple.

Para asignar una combinación de teclas al servicio recién creado:

Abra la aplicación Preferencias del Sistema y navegue hasta el panel de preferencias de Teclado, y seleccione la pestaña Atajos. En la lista de la izquierda del panel de preferencias, seleccione la categoría Servicios. A la derecha aparecerá una lista de los servicios instalados. Desplácese hasta la última categoría, titulada General, y localice el servicio que acaba de crear. Haga doble clic en el extremo derecho del nombre del servicio para activar el campo de entrada de teclas y, a continuación, escriba la combinación de teclas que desea asignar al servicio. Cierre la aplicación Preferencias del Sistema.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X