之前弄了一个listary菜单里面执行AHK文件的
但是还有一个直观需要,就是listary搜索框中执行. (当然同时可以设置快捷键)
这里实现一个 NEW 文件夹 或者new 文件名 来创建并打开文件
并自动将剪贴板内容粘贴到打开的文件中.
操作的场景可以在任何窗口实现新建文件或文件夹.
如果在资源管理器中,操作逻辑为在当前目录下创建
如果不在资源管理器中,操作逻辑为弹出对话框选择保存的路径.
方法和步骤如下:
首先AHK代码写好:
ArgsIni = %1% ;listary传递{query}内容
NameRule := ArgsIni ;文件夹命名规则
FileType := ""
if instr(ArgsIni,".") ;简单判断{query}内容
{
file := StrSplit(ArgsIni, ".")
NameRule := file[1]
FileType := % "." . file[2]
}
gosub createfileorfolder
sleep 200
exitapp
Return
CreateFileorFolder:
;MsgBox % NameRule . FileType
WinGetClass class, % "ahk_id" WinExist("A")
if (class~="(Cabinet|Explore)WClass") {
Send,!d
ControlGetText,MyPath,Edit1,A
}
else if (class=="WorkerW") {
MyPath:= A_Desktop
}
else
{
FileSelectFolder, MyPath, , 3 ;这里是另外一种创建文件的操作逻辑,先输入文件名然后选择保存的路径,这样可以避免打开资源管理器.
if MyPath =
{
exitapp ;没有选择保存的文件夹,直接退出
}
}
RUN, % MyFolderFileCreate(MyPath,NameRule,FileType)
Return
MyFolderFileCreate(MyPath:="",NameRule:="",FileType:="")
{
;FileType
;""创建文件夹
;".txt"
;".doc"
;".txt"
if !NameRule
{
NameRule=%A_yyyy%-%A_MM%-%A_DD% ;文件夹命名规则
}
NewFolder := % MyPath . "\" . NameRule ;新文件夹或新建文件命名
MyFolderFileName := % NewFolder . FileType
while FileExist(MyFolderFileName)
{
temp := Chr(96+A_index)
MyFolderFileName := % NewFolder . "_" . temp . FileType
}
;MsgBox % MyFolderFileName
if (FileType=="") {
FileCreateDir, % MyFolderFileName ;创建文件(夹)
}
else {
Fileappend, % clipboard , % MyFolderFileName ;新建并复制剪贴板内容到文件
}
Return, % MyFolderFileName
}
然后在listary中配置参数:
这样只要快捷键调出listary搜索框,输入
new myfile.txt
就能快速创建myfile.txt,并打开文件,同时将当前剪贴板内容自动复制到myfile.txt中
如果你打开了Listary在资源管理器中的即时搜索,那么只需要 new file.txt回车就自动创建文件了.非常快
这样,我觉得相对来说提高了创建文件的效率,你们觉得呢?
PS: 当然, 也可以在Listary弹出菜单中加入, 效果就是不用给文件命名,自动命名为当前日期,其他效果一样,会自动打开文件或文件夹.
当然后面可以再优化一下,比如一次创建多个文件(夹),实现诸如命令行的效果,
比如输入: new hello.txt hello2.txt 即可创建多个文件
当然, 如果你使用影子输入法的话, 也可以去实现,在它的输入法下面实现,new/file.txt回车创建文件,我觉得这也是一种不错的操作场景和操作逻辑.
用同样的原理和方法,可以实现其他类似的东西,我认为就相当于给listary搞了一个超级命令的外挂吧.
我个人来说,listarty目前是不能抛弃的,所以利用LISTARY这个搜索框获取相应的文本录入并执行相应的外挂程序,个人觉得还是不错的.
PS: 这里有一个赏金问答,各位能否实现?
怎么说呢 尽管listary早已入正 但是确实没有刚开始发现的时候那么兴奋了,使用频率越来越低,反倒是everything通过runany调用挺方便的
everything只是纯搜索, listary好在它的即时搜索目录跳转,还有她的搜索结果后用方向键调出右键菜单的方便性