Створіть текстовий файл із комбінацією клавіш у Провіднику Windows


0

Я використовую рішення, як створити новий текстовий документ (TXT) файл гарячою клавішею? з декількох років, використовуючи функцію Autohotkey, і це дозволяє створити новий текстовий файл в будь-якому місці Windows Explorer за допомогою комбінації клавіш.

Є один недолік: коли файл вже має фокус у списку файлів Провідника (перегляд "Деталі"), він не працює, головним чином тому, що при виборі файлу контекстне меню не відображає "Створити> Текст" документ " .

Запитання: як створити ярлик, який створює новий текстовий документ, навіть якщо файл переглянуто в розділі "Деталі" провідника Windows?


2
Додати команду клавіші для скасування, щоб зняти виділений файл на початку сценарію?
Дейв

1
@Dave Уже спробував, але не працює: перейдіть у «Провідник», «Перегляд деталей» у Windows 7. Клацніть файл (він буде вибраний / виділений), а потім натисніть «Утекти», він залишиться обраним.
Бась

Відповіді:


1

Меню Файл у Провіднику Windows відображає параметр меню Створити> Текстовий документ у папці, незалежно від того, вибрано файл чи папку.

Ви можете створити текстовий документ шляхом імітації натискання Alt, f, w, tз цим AutoHotkey сценарію (пов'язаний з F4):

F4::
  Send {ALT}fwt
Return

Так @davidmneedham, він чудово працює, за винятком робочого столу (там він не працює). Чи маєте ви уявлення про ярлик, який працює як на робочому столі, так і в перегляді Windows Explorer / Details?
Бась

@Basj слід відредагувати своє запитання, щоб вказати, що ви хочете, щоб воно працювало як на робочому столі, так і в Windows Explorer. (відповідь користувача3419297) [ superuser.com/a/1369167/206587] - це один із варіантів, який відповідає вашому випадку використання.
davidmneedham

1
#If (WinActive("ahk_class Progman") || WinActive("ahk_class WorkerW") || WinActive("ahk_class CabinetWClass"))   ; desktop or explorer

    F1::
    WinGet, active_id, ID, A
    InputBox, name, Create a New Text Document, Enter a name:,, 300, 120
    If !ErrorLevel
    {
        WinActivate, ahk_id %active_id%
        If WinActive("ahk_class Progman") or WinActive("ahk_class WorkerW") ; desktop
        {       
            FileAppend,, %A_Desktop%\%name%.txt
            Run, %A_Desktop%\%name%.txt
        }
        else
        if WinActive("ahk_class CabinetWClass") ; explorer
        {
            WinGetTitle, ActiveTitle, A
            If InStr(ActiveTitle, "\")  ; If the full path is displayed in the title bar (Folder Options)
                Folderlpath := ActiveTitle
            else
            If InStr(ActiveTitle, ":") ; If the title displayed is something like "DriveName (C:)"
            {
                Folderlpath := SubStr(ActiveTitle, -2)
                Folderlpath := SubStr(Folderlpath, 1, -1)
            }
            else ; If the full path is NOT displayed in the title bar 
            ; https://autohotkey.com/boards/viewtopic.php?p=28751#p28751
            for window in ComObjCreate("Shell.Application").Windows
            {
                try Folderlpath := window.Document.Folder.Self.Path
                SplitPath, Folderlpath, title
                If (title = ActiveTitle)
                    break
            }
            FileAppend,, %Folderlpath%\%name%.txt
            Run, %Folderlpath%\%name%.txt
        }
    }
    return 

#If

0

Як додаток до оригінального сценарію, який ви використовували, ви можете зробити наступне:

F4::
Macro1:
!h, sn           ; <-- this is what you want, ALT is denoted by !
Click, Right, 1
Sleep, 10
SendRaw, wt
Return

(ALT+H, SN = select none)

Який повинен сказати, що не ALT+Hпотім Sслідують N. Це ефективно робить "Вибрати ні", а потім переходить до емуляції методу контекстного меню створення зазначеного файлу.

Це працює у File Explorer та Desktop, хоча це була Windows 10, я вважаю, що це буде працювати в Windows 7.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.