实现:
#z:: d =%A_MM%-%A_DD% FileCreateDir, d:\%d% Sleep,200 run d:\%d% return 用户反馈:可以新建一个,不能第二个,还有,只能在D盘下,要能在当前窗口的路径下 在当前目录下新建日期目录 #z:: Send,!d ControlGetText,foldername,Edit1,A d=%A_MM%-%A_DD% d=%foldername%\%d% FileCreateDir, %d% Sleep,200 run %d% return 做一次同名目录存在检测 #z:: Send,!d ControlGetText,foldername,Edit1,A d=%A_MM%-%A_DD% d=%foldername%\%d% if InStr(FileExist(d), "D") { ;已存在同名目录 d=%d%_a } FileCreateDir, %d% Sleep,200 run %d% 这个变量d建议改个名字 #z:: Send,!d ControlGetText,当前目录,Edit1,A 目录名=%A_MM%-%A_DD% 最终目录名=%当前目录%\%目录名% if InStr(FileExist(最终目录名), "D") { ;已存在同名目录 最终目录名=%最终目录名%_a } FileCreateDir, %最终目录名% Sleep,200 run %最终目录名% return 吐槽:不支持AutoHotkey代码高亮,来个截图,能看得清楚点:
实现用户需求版 #z:: Send,!d ControlGetText,当前目录,Edit1,A 目录名=%A_MM%-%A_DD% 最终目录名=%当前目录%\%目录名% 临时目录名=%最终目录名% while InStr(FileExist(临时目录名), "D") { 后缀:=Chr(96+A_index) 临时目录名=%最终目录名%_%后缀% } 最终目录名=%临时目录名% FileCreateDir, %最终目录名% Sleep,200 run %最终目录名% return
用户反馈:在桌面新建时跑到C盘了,另外可以不要弹出新窗口吗?
最终版 #z:: 当前目录:= A_Desktop WinGetClass class, ahk_id WinExist("A") if (class ~= "(Cabinet|Explore)WClass") { Send,!d ControlGetText,当前目录,Edit1,A } 目录名=%A_MM%-%A_DD% 最终目录名=%当前目录%\%目录名% 临时目录名=%最终目录名% while InStr(FileExist(临时目录名), "D") { 后缀:=Chr(96+A_index) 临时目录名=%最终目录名%_%后缀% } 最终目录名=%临时目录名% FileCreateDir, %最终目录名% ;~ Sleep,200 ;~ run %最终目录名% return