7 votos

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

Estoy cómodo creando 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 tipo Windows para crear un nuevo documento con clic derecho. He encontrado el siguiente script y sé que necesita ejecutarse desde Automator > Flujo de trabajo > Ejecutar AppleScript:

set doc_list to {"Agregar nuevo..."}
tell application "Finder"
    if not (exists folder "NewHere" of folder (path to application support from user domain)) then
        display dialog "Esta es la primera vez que ejecutas NewHere." & return & return & "Los archivos añadidos a la lista están ubicados en" & return & "~/Library/Application Support/NewHere" & return & "Eliminar un archivo de esta carpeta lo quita de la lista."
        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 "Elige un documento para colocar aquí"
    if result is not false then
        set my_file to item 1 of my_file as string
        if my_file is "Agregar nuevo..." 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 "Ingresa un nombre para el nuevo archivo." 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 "Ingresa un nombre para el nuevo archivo." 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 aparece una ventana diciendo, "Elige un documento para colocar aquí". ¿Qué se supone que debo hacer para que el script funcione?

0 votos

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

0 votos

7voto

user3439894 Puntos 5883

Aquí hay un AppleScript que uso como una aplicación AppleScript para poder asignarle el ícono 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 Finder esté configurado, y en la que se tenga permisos de escritura. En otras palabras, si se intenta crear un nuevo documento de texto en una ubicación que solo tiene permisos de escritura para, por ejemplo, root o cualquier ubicación a la que no se tengan permisos específicos de escritura, se recibirá una notificación al intentar crear el nuevo documento de texto.

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

Abre Editor de (Apple)Script y copia y pega el código a continuación en la ventana vacía y guárdalo como Crear Nuevo Archivo de Texto Aquí.app. Asegúrate de seleccionar Aplicación para el Formato de archivo: en el cuadro de diálogo de Guardar como:.

Antes de agregarlo a la Barra de herramientas de Finder, querrás cambiar su ícono al que usa TextEdit. Puedes abrir la Información de Obtener para cada aplicación y luego copiar y pegar el de TextEdit.app al de Crear Nuevo Archivo de Texto Aquí.app. Ten en cuenta que este es el ícono que se muestra en la esquina superior izquierda de la Información de Obtener.

Ahora que tiene un ícono más bonito, arrastra y suelta la nueva aplicación en la ubicación de la Barra de herramientas de Finder donde deseas que esté. Ten en cuenta que dependiendo de la versión de OS X / macOS, es posible que necesites presionar la tecla Command ⌘ mientras arrastras la aplicación a la Barra de herramientas de Finder.

Para usarlo, simplemente haz clic en el ícono de Crear Nuevo Archivo de Texto Aquí.app en la Barra de herramientas de Finder y se te pedirá un nombre y se creará y abrirá un nuevo documento de texto en la ubicación actual de la ventana de 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 "Guardar como:" with title "Crear Nuevo Archivo de Texto Aquí" default answer fileName buttons {"Cancelar", "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 "¡No se puede crear el archivo \"" & newTextFile & "\" en esta ubicación!..." with title "No se puede crear archivo" buttons {"OK"} default button 1 with icon stop
            end try
        else
            display dialog "¡El archivo \"" & newTextFile & "\" ya existe!..." with title "El archivo ya existe" buttons {"OK"} default button 1 giving up after 5
            my createNewTextFile()
        end if
    end tell

end createNewTextFile

Ten en cuenta que este código también se puede utilizar en Automator para un flujo de trabajo de Servicio, sin embargo, he encontrado que ya estoy en Finder cuando quiero crear un nuevo documento de texto y es más fácil hacer clic en el ícono de Crear Nuevo Archivo de Texto Aquí.app en la Barra de herramientas de Finder que hacer clic derecho y elegir de los ya sobre cargados Servicios menú contextual que tengo.

Además, si modificas el código una vez que el script se guarda como una aplicación y se coloca en la Barra de herramientas de Finder, entonces tendrás que quitar el ícono de la Barra de herramientas y luego arrastrar y soltar el Crear Nuevo Archivo de Texto Aquí.app recién guardado para que funcione correctamente.

0 votos

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

1voto

Elegant Coder Puntos 123

Tengo un script que ejecuto en el Finder con un atajo de teclado desde FastScripts (N) que muestra una lista desplegable de plantillas de archivos (almacenadas en una carpeta de plantillas). Para añadir nuevas plantillas solo colóquelas en esa carpeta.

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

introducir descripción de la imagen aquí

-ccs

1voto

nisshh Puntos 126

He estado utilizando New File Menu de la Mac App Store para crear nuevos archivos mediante clic derecho, y funciona perfectamente. Viene con 30 o más plantillas, pero también puedes crear las tuyas propias. Parece ser una solución mucho más fácil.

Puedes 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.

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