Haga clic derecho para Crear un nuevo documento - ¿Cómo?

Me siento cómodo con la creación de nuevos documentos desde la línea de comandos en OS X (en mi caso, El Capitan), pero quería explorar la posibilidad de tener una opción similar a Windows para crear un nuevo documento con el botón derecho. Encontré el siguiente script y sé que necesita ejecutarse desde Automator> Flujo de trabajo> Ejecutar AppleScript:

set doc_list to {"Add new..."}
tell application "Finder"
    if not (exists folder "NewHere" of folder (path to application support from user domain)) then
        display dialog "This is the first time you've run NewHere." & return & return & "Files added to the list are located at" & return & "~/Library/Application Support/NewHere" & return & "Removing a file from this folder removes it from the list."
        make new folder at folder (path to application support from user domain) with properties {name:"NewHere"}
    else
        try
            set doc_list to doc_list & name of every file of folder "NewHere" of folder (path to application support from user domain) as list
        end try
    end if
    set my_file to choose from list doc_list with prompt "Choose a document to place here"
    if result is not false then
        set my_file to item 1 of my_file as string
        if my_file is "Add new..." then
            set new_file to choose file
            duplicate file new_file to folder "NewHere" of folder (path to application support from user domain) with replacing
            set my_name to text returned of (display dialog "Enter a name for the new file." default answer (name of new_file as text))
            my do_it((name of new_file as text), my_name)
        else
            set my_name to text returned of (display dialog "Enter a name for the new file." default answer my_file)
            my do_it(my_file, my_name)
        end if
    end if
end tell

on do_it(my_file, my_name)
    tell application "Finder" to set my_dest to (folder of the front window) as text
    set my_dest to my_dest & my_name as text
    set my_origin to (path to application support from user domain) & "NewHere:" & my_file as text
    do shell script "cp " & quoted form of (POSIX path of my_origin) & " " & quoted form of (POSIX path of my_dest)
    tell application "Finder" to open my_dest as alias
end do_it

Me muestra una ventana que dice: "Elija un documento para colocar aquí". ¿Qué se supone que debo hacer para que el script funcione?

Ese script , el código AppleScript en su pregunta, de ninguna manera proporciona una "opción similar a Windows para crear un nuevo documento con un clic derecho", incluso si está envuelto en un flujo de trabajo de Automator Service.

Respuestas (3)

Aquí hay un AppleScript que uso como una aplicación de AppleScript para poder asignarle el icono de TextEdit y colocarlo en la barra de herramientas de Finder . Luego, está disponible para crear un nuevo documento de texto en cualquier ubicación en la que esté configurado el Finder , en el que uno tenga permisos de escritura. En otras palabras, si uno intenta crear un nuevo documento de texto en una ubicación que solo es accesible para escritura, por ejemplo , o en cualquier ubicación para la que no tenga permisos de escritura específicos, entonces se le notifica al intentar crear el nuevo documento de texto. root

El código verifica si ya existe un archivo con el mismo nombre y, de ser así, notifica y vuelve a mostrar el cuadro de diálogo Guardar como :.

Abra (Apple) Script Editor y copie y pegue el código a continuación en la ventana vacía y guárdelo como Create New Text File Here.app . Asegúrese de seleccionar Aplicación para formato de archivo: en el cuadro de diálogo Guardar como: .

Antes de agregarlo a la barra de herramientas de Finder , querrá cambiar su ícono por el que usa TextEdit . Puede abrir la hoja Obtener información para cada aplicación y luego copiar y pegar la de TextEdit.app en la de Crear nuevo archivo de texto aquí.app . Tenga en cuenta que este es el icono que se muestra en la esquina superior izquierda de la hoja Obtener información .

Ahora que tiene un icono más bonito, arrastre y suelte la nueva aplicación en la ubicación de la barra de herramientas del Finder que le gustaría que fuera. Tenga en cuenta que, según la versión de OS X/macOS, es posible que deba presionar la tecla Comando ⌘ mientras arrastra la aplicación a la barra de herramientas del Finder .

Para usarlo, simplemente haga clic en el ícono Create New Text File Here.app en la barra de herramientas del Finder y se le pedirá un nombre y se creará y abrirá un nuevo archivo de documento de texto desde la ubicación actual de la ventana del Finder .


on run
    my createNewTextFile()
end run


on createNewTextFile()

    tell application "Finder"
        activate
        set the currentFolder to (folder of the front window as alias)
    end tell

    tell me
        activate
        set fileName to ""
        repeat while fileName = ""
            display dialog "Save As:" with title "Create New Text File Here" default answer fileName buttons {"Cancel", "OK"} default button 2
            set fileName to text returned of the result
        end repeat
        if fileName ends with ".txt" then
            set newTextFile to POSIX path of currentFolder & fileName
        else
            set newTextFile to POSIX path of currentFolder & fileName & ".txt"
        end if

    end tell

    tell application "Finder"
        set itExists to (exists newTextFile as POSIX file)
    end tell

    tell me
        activate
        if itExists is false then
            try
                do shell script "touch \"" & newTextFile & "\"; open \"" & newTextFile & "\""
            on error
                display dialog "Cannot create the \"" & newTextFile & "\" file at this location!..." with title "Cannot Create File" buttons {"OK"} default button 1 with icon stop
            end try
        else
            display dialog "The \"" & newTextFile & "\" file already exists!..." with title "File Already Exists" buttons {"OK"} default button 1 giving up after 5
            my createNewTextFile()
        end if
    end tell

end createNewTextFile

Tenga en cuenta que este código también podría usarse en Automator para un flujo de trabajo de servicio , sin embargo, descubrí que ya estoy en Finder cuando quiero crear un nuevo documento de texto y es más fácil hacer clic en Create New Text File Here.app en la barra de herramientas del Finder , luego haga clic con el botón derecho y elija entre el menú contextual de Servicios que ya tengo sobrepoblado.

Además, si modifica el código una vez que la secuencia de comandos se guardó como una aplicación y se colocó en la barra de herramientas del Finder , tendrá que eliminar el icono de la barra de herramientas y luego arrastrar y soltar la aplicación Create New Text File Here.app recién guardada. para que funcione correctamente.

Nota: arrastrar y soltar en el buscador funciona manteniendo presionada la tecla Comando mientras arrastra el archivo .app. Al menos en macOS 10.12

Tengo una secuencia de comandos que ejecuto en el Finder con un método abreviado de teclado de FastScripts ( N) que muestra una lista de selección de plantillas de archivos (almacenadas en una carpeta de plantillas). Para agregar nuevas plantillas simplemente colóquelas en esa carpeta.

Publicado en StackExchange hace unos años: Cómo crear un archivo de texto en una carpeta

ingrese la descripción de la imagen aquí

-ccs

He estado usando el menú Nuevo archivo de Mac App Store para crear nuevos archivos haciendo clic con el botón derecho y funciona bien. Viene con unas 30 plantillas, pero también puedes crear las tuyas propias. Parece que es una solución mucho más fácil.

Puede encontrar información al respecto en https://langui.net/new-file-menu/ y en https://itunes.apple.com/us/app/new-file-menu/id1064959555?mt=12 .