Fai clic destro per creare un nuovo documento - Come?

7

Sono a mio agio con la creazione di nuovi documenti da linea di comando su OS X (nel mio caso El Capitan), ma volevo esplorare la possibilità di avere un'opzione simile a Windows per creare un nuovo documento con il tasto destro del mouse. Ho trovato lo script qui sotto e so che ha bisogno di essere eseguito da Automator > Flusso di lavoro > Esegui 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

Mi viene da una finestra che dice "Scegli un documento da posizionare qui". Cosa dovrei fare per far funzionare la sceneggiatura?

    
posta paranza 19.03.2017 - 14:57
fonte

3 risposte

7

Ecco un AppleScript che utilizzo come applicazione AppleScript così posso assegnarlo TextEdit icona e posizionalo nella barra degli strumenti di Finder . Quindi è disponibile per creare un nuovo documento di testo in qualsiasi posizione Finder a cui è assegnato il permesso di scrittura. In altre parole, se si tenta di creare un nuovo documento di testo in una posizione accessibile solo per iscritto ad es. root o qualsiasi posizione in cui non si dispone di autorizzazioni di scrittura specifiche, quindi una notifica viene notificata quando si tenta di creare il nuovo documento di testo.

Il codice controlla se esiste già un file con lo stesso nome e in tal caso lo segnala e riporta la finestra di dialogo Salva con nome: .

Apri (Apple) Script Editor e copia e incolla il codice sotto nella finestra vuota e salvalo come Crea nuovo file di testo here.app . Assicurati di selezionare Applicazione per Formato file: nella finestra di dialogo Salva con nome: .

Prima di aggiungerlo alla barra degli strumenti di Finder , ti consigliamo di cambiarne l'icona con quella utilizzata da TextEdit . Puoi aprire il Ottieni informazioni foglio per ogni app e quindi copiare e incollare quello da TextEdit.app a quello in Crea Nuovo file di testo here.app . Nota che questa è l'icona visualizzata nell'angolo in alto a sinistra del Ottieni informazioni foglio .

Ora che ha un'icona più carina, trascina la nuova app nella posizione sulla barra degli strumenti di Finder che desideri. Nota che a seconda della versione di OS X / macOS potresti dover premere il tasto Comando ⌘ mentre trascini l'app sulla barra degli strumenti di Finder .

Per utilizzare, fai clic sull'icona Crea nuovo file di testo here.app nella barra degli strumenti di Finder e ti verrà richiesto un nome e il nuovo file di testo verrà creato e aperto dalla posizione corrente della Ricerca finestra .

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

Tieni presente che questo codice potrebbe essere utilizzato anche in Automator per un flusso di lavoro del servizio , tuttavia ho scoperto che sono già in Finder quando voglio creare un nuovo documento di testo ed è più semplice fare clic sull'icona Crea nuovo file di testo Here.app nel Barra degli strumenti di Finder , quindi fai clic con il pulsante destro del mouse e scegli dal menu contestuale Servizi già popolato quello che ho.

Inoltre, se modifichi il codice dopo che lo script è stato salvato come applicazione e inserito nella barra degli strumenti di Finder , quindi dovrai rimuovere l'icona dalla barra degli strumenti e quindi trascinare e rilasciare il nuovo Crea nuovo file di testo here.app in modo che possa funziona correttamente.

    
risposta data 19.03.2017 - 19:44
fonte
1

Ho uno script che eseguo nel Finder con una scorciatoia da tastiera da FastScripts ( ^ N ) che apre un elenco di selezione di modelli di file (memorizzati in una cartella di modelli). Per aggiungere nuovi modelli basta metterli in quella cartella.

Pubblicato su StackExchange alcuni anni fa: Come creare un file di testo in una cartella

-ccs

    
risposta data 21.03.2017 - 23:54
fonte
0

Ho utilizzato il nuovo menu File dal Mac App Store per creare nuovi file tramite il tasto destro del mouse, & funziona bene Viene fornito con circa 30 modelli, ma puoi anche crearne uno tuo. Sembra che sia una soluzione molto più semplice.

Puoi trovare informazioni a riguardo al link & all'indirizzo link .

    
risposta data 19.07.2017 - 01:59
fonte

Leggi altre domande sui tag