将Listary结合AHK脚本新建文件(夹) new file.txt

AHK结合Listary实现文件或文件夹创建的不同操作逻辑

之前弄了一个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: 这里有一个赏金问答,各位能否实现?

AHK如何菜单项右键显示新的操作菜单?

 

给TA捐赠
共{{data.count}}人
人已捐赠
AHKV1社区推荐

借助CMD命令实现AHK程序热更新

2022-3-10 14:21:31

AHKV2函数库社区推荐

UIAutomation类库-个人简化版

2022-3-11 23:13:46

2 条回复 A文章作者 M管理员
  1. 不想说什么

    怎么说呢 尽管listary早已入正 但是确实没有刚开始发现的时候那么兴奋了,使用频率越来越低,反倒是everything通过runany调用挺方便的

    • ahkjoo

      everything只是纯搜索, listary好在它的即时搜索目录跳转,还有她的搜索结果后用方向键调出右键菜单的方便性

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索