Rechtsklick zum Erstellen eines neuen Dokuments - wie?

Ich bin damit vertraut, neue Dokumente über die Befehlszeile unter OS X (in meinem Fall El Capitan) zu erstellen, aber ich wollte die Möglichkeit erkunden, eine Windows-ähnliche Option zum Erstellen eines neuen Dokuments per Rechtsklick zu haben. Ich habe das folgende Skript gefunden und weiß, dass es von Automator > Workflow > Run AppleScript ausgeführt werden muss:

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

Es fordert mich mit einem Fenster auf, das sagt: "Wählen Sie ein Dokument aus, das hier platziert werden soll". Was muss ich tun, damit das Skript funktioniert?

Dieses Skript , der AppleScript -Code in Ihrer Frage, bietet in keiner Weise eine "Windows-ähnliche Option zum Erstellen eines neuen Dokuments per Rechtsklick", selbst wenn es in einen Automator Service-Workflow eingebunden ist.

Antworten (3)

Hier ist ein AppleScript , das ich als AppleScript - Anwendung verwende, damit ich ihm das TextEdit - Symbol zuweisen und es in der Symbolleiste von Finder platzieren kann . Dann ist es möglich, ein neues Textdokument an einem beliebigen Ort zu erstellen, auf den der Finder eingestellt ist, auf den man Schreibberechtigungen hat. Mit anderen Worten, wenn man versucht, ein neues Textdokument an einer Stelle zu erstellen, für die zB nur Schreibzugriff besteht, rootoder an irgendeiner Stelle, für die man keine speziellen Schreibberechtigungen hat, dann wird man benachrichtigt, wenn man versucht, das neue Textdokument zu erstellen.

Der Code überprüft, ob bereits eine Datei mit demselben Namen vorhanden ist, und meldet dies, wenn dies der Fall ist, und bringt das Dialogfeld „ Speichern unter: “ zurück .

Öffnen Sie den (Apple)Script Editor und kopieren Sie den folgenden Code , fügen Sie ihn in das leere Fenster ein und speichern Sie ihn als Create New Text File Here.app . Stellen Sie sicher, dass Sie Application for File Format: im Dialogfeld Save As: auswählen .

Bevor Sie es zur Symbolleiste von Finder hinzufügen , sollten Sie sein Symbol in das ändern, das von TextEdit verwendet wird . Sie können das Blatt "Informationen abrufen" für jede App öffnen und dann das Blatt aus TextEdit.app in das Blatt in Create New Text File Here.app kopieren und einfügen . Beachten Sie, dass dies das Symbol ist, das in der oberen linken Ecke des Fensters „Informationen abrufen“ angezeigt wird .

Jetzt, da es ein schöneres Symbol hat, ziehen Sie die neue App per Drag & Drop an die Stelle in der Symbolleiste von Finder , an der Sie sie haben möchten. Beachten Sie, dass Sie je nach Version von OS X/macOS möglicherweise die Befehlstaste ⌘ drücken müssen, während Sie die App in die Symbolleiste von Finder ziehen .

Klicken Sie zur Verwendung einfach auf das Symbol „Create New Text File Here.app“ in der Symbolleiste des Finder und Sie werden aufgefordert, einen Namen einzugeben, und eine neue Textdokumentdatei wird erstellt und am aktuellen Speicherort des Finder - Fensters geöffnet .


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

Beachten Sie, dass dieser Code auch in Automator für einen Service-Workflow verwendet werden könnte , aber ich habe festgestellt, dass ich bereits im Finder bin , wenn ich ein neues Textdokument erstellen möchte, und es einfach einfacher ist, auf die App Create New Text File Here.app zu klicken Symbol in der Symbolleiste von Finder , dann mit der rechten Maustaste klicken und aus dem bereits überfüllten Dienste - Kontextmenü auswählen , das ich habe.

Wenn Sie den Code ändern, nachdem das Skript als Anwendung gespeichert und in der Symbolleiste von Finder platziert wurde, müssen Sie außerdem das Symbol aus der Symbolleiste entfernen und dann die neu gespeicherte Create New Text File Here.app ziehen und ablegen damit es richtig funktioniert.

Hinweis: Drag & Drop im Finder funktioniert, indem Sie die Befehlstaste gedrückt halten, während Sie die .app-Datei ziehen. Zumindest unter MacOS 10.12

Ich habe ein Skript, das ich im Finder mit einer Tastenkombination von FastScripts ( N) ausführe, das eine Auswahlliste mit Dateivorlagen (in einem Vorlagenordner gespeichert) anzeigt. Um neue Vorlagen hinzuzufügen, platzieren Sie sie einfach in diesem Ordner.

Vor ein paar Jahren auf StackExchange gepostet: How to create a text file in a folder

Geben Sie hier die Bildbeschreibung ein

-ccs

Ich habe das Menü „Neue Datei“ aus dem Mac App Store verwendet, um neue Dateien per Rechtsklick zu erstellen, und es funktioniert einwandfrei. Es enthält etwa 30 Vorlagen, aber Sie können auch Ihre eigenen erstellen. Scheint eine viel einfachere Lösung zu sein.

Informationen dazu finden Sie unter https://langui.net/new-file-menu/ & unter https://itunes.apple.com/us/app/new-file-menu/id1064959555?mt=12 .