Создайте текстовый файл с помощью сочетания клавиш в проводнике Windows

496
Basj

Я использую решение Как создать новый файл текстового документа (TXT) с помощью горячей клавиши? Уже несколько лет, с помощью Autohotkey, и он позволяет создавать новый текстовый файл в любом месте проводника Windows с помощью сочетания клавиш.

Есть один недостаток: когда файл уже имеет фокус в списке файлов Explorer (представление «Подробности»), он не работает, главным образом потому, что при выборе файла в контекстном меню не отображается «Новый> Текст». документ " .

Вопрос: как создать ярлык для создания нового текстового документа, даже если в данный момент выбран файл в представлении « Сведения» в проводнике Windows?

0
Добавить команду для клавиши escape, чтобы отменить выбор выбранного файла в начале сценария? Dave 5 лет назад 2
@Dave Уже пробовал, но не работает: зайдите в проводник, просмотр сведений в Windows 7. Нажмите на файл (он будет выделен / выделен), затем нажмите Escape, он останется выбранным. Basj 5 лет назад 0

2 ответа на вопрос

1
davidmneedham

Меню «Файл» в проводнике Windows отображает параметр «Создать»> «Текстовый документ» в папке независимо от того, выбран файл или папка или нет.

Вы можете создать текстовый документ путем имитации нажатия Alt, f, w, tс этим AutoHotkey сценария (связанный с F4):

F4:: Send fwt Return 
Да, @davidmneedham, он отлично работает, кроме рабочего стола (там нет). Хотели бы вы иметь представление о ярлыке, который работает как на рабочем столе, так и в представлении Windows Explorer / Details? Basj 5 лет назад 0
@Basj вы должны отредактировать свой вопрос, чтобы указать, что вы хотите, чтобы он функционировал как на рабочем столе, так и в проводнике Windows. (ответ пользователя 3419297) [https://superuser.com/a/1369167/206587] - это один из вариантов, который подходит для вашего варианта использования. davidmneedham 5 лет назад 0
1
user3419297
#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