AutoHotKey在Windows 8中创建新文件的快捷方式

时间:2014-04-30 06:17:49

标签: windows keyboard-shortcuts autohotkey

回过头来,我发现了一个在线脚本,提供了创建新文件的快捷方式。它适用于运行Windows 7的计算机:

#IfWinActive, ahk_class CabinetWClass
#n:: ;If Windows+N is pressed in Windows Explorer
Send {Alt} ;Menu
Send f ;> File
Send w ;> New
Send t ;select Text Document
Send ^a ;select all
Exit

这个脚本对我运行Windows 8的新笔记本电脑不起作用。只是想知道是否有人知道这是为什么,如果可能有一个快速编辑可以使其工作?谢谢你的帮助!

3 个答案:

答案 0 :(得分:2)

想想我实际上想出了适用于所有环境的东西,Windows 7和8:

#n::
    Send {AppsKey}
    Send w
    Send t
    Sleep, 400
    Send ^+{Right}
    Send {Del}
return

我必须在那里添加Sleep,因为它似乎正在尝试在文件有时间创建之前运行正在进行的代码。但这似乎完成了我的需要。

答案 1 :(得分:1)

这是由于Win 8资源管理器的菜单布局已更改。在我的机器上,如果您在资源管理器中按 Alt ,您将获得相应菜单旁边的按钮图像,这些按钮将在菜单导航期间更新。您想转到菜单Home,然后选择New item。在我的机器上,这是关键序列 Alt R W 。但是后续选择text file的快捷方式(如 T )似乎不存在。另一方面,AHK可以做你想要的而不依赖于资源管理器菜单,但这需要一些编码:

#IfWinActive, ahk_class CabinetWClass
#n::
    ControlGetText, dir, ToolbarWindow323
    RegExMatch(dir, ":(.*)", dir)
    dir := Trim(dir1)
    FileAppend, , %dir%\MyNewTextFile.txt
return

唯一的缺点是,对于您通过资源管理器中的“收藏夹”或“库”打开的文件夹,它本身不起作用。但是如果你需要它们,你仍然可以为此编写一个解决方法。

答案 2 :(得分:0)

这适用于Windows 10。

通过NewFile.txt创建ctrl+shift+M

#NoEnv
SendMode Input
SetWorkingDir %A_ScriptDir%

#IfWinActive ahk_class CabinetWClass
^+m::
    newFileHere()
    return
#IfWinActive

newFileHere(){
WinHWND := WinActive()
For win in ComObjCreate("Shell.Application").Windows
    If (win.HWND = WinHWND) {
        dir := SubStr(win.LocationURL, 9) ; remove "file:///"
        dir := RegExReplace(dir, "%20", " ")
        Break
    }

file = %dir%/NewFile.txt
if FileExist(file)
{
    MsgBox, NewFile.txt already exists
    return
}
FileAppend,, %file%  ; create new file
}