用户需求:新建一个文件夹,名称自动以月份和日期命名,如12-02,如已经有这名字的文件夹,则用12-02a......类推
实现:
#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
吐槽:CSDN不支持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