回过头来,我发现了一个在线脚本,提供了创建新文件的快捷方式。它适用于运行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的新笔记本电脑不起作用。只是想知道是否有人知道这是为什么,如果可能有一个快速编辑可以使其工作?谢谢你的帮助!
答案 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
}