我需要一个 AHK 脚本来创建:
- Windows 资源管理器中当前打开的文件夹中的文件夹(在 Windows 7 下),
- 其名称包括
- 当前日期格式为 (
yyyy-mm-dd
) - 当前在剪贴板中的文本
- 当前日期格式为 (
- 新创建的文件夹必须包含 3 个子文件夹,分别名为“1”、“2”和“3”
我想Testing Testing Testing
从另一个应用程序复制几个单词(例如),转到硬盘上的某个位置(使用 Windows 资源管理器),激活热键,然后 AHK 将为我创建一个名为的文件夹:
2012-06-04 Testing Testing Testing
包含子文件夹“1”、“2”和“3”。
答案1
剧本
#c::
WinGetClass, WinClass, A
if (WinClass = "CabinetWClass")
{
FormatTime, CurrentDate,, yy-MM-dd
CustomText = %Clipboard%
Clipboard =
SendPlay, !d^c
ClipWait, 1
If ErrorLevel
{
MsgBox, Could not read directory name.
return
}
CurrentDir = %Clipboard%
Clipboard = %CustomText%
NewDir = %CurrentDir%\%CurrentDate% %CustomText%
Run, cmd /c (md "%NewDir%" || pause) && md "%NewDir%\1" && md "%NewDir%\2" && md "%NewDir%\3"
}
else
SendPlay, #c
return
怎么运行的
#c:: ... return
指定一个组合键(此处为:Win+ C)并...
在按下时执行。WinGetClass, WinClass, A
将当前活动窗口的标题存储在变量中WinClass
。if (WinClass = "CabinetWClass") { ... }
检查是否WinClass
是CabinetWClass
(Windows 资源管理器的类)。如果是:,
...
则执行。否则,SendPlay, #c
模拟正常Win+C笔划。FormatTime, CurrentDate,, yy-MM-dd
将当前日期(YY-MM-DD
)存储在变量中CurrentDate
。Clipboard =
清除剪贴板,以便我们可以检查何时将内容复制到剪贴板。CustomText = %Clipboard%
将当前剪贴板内容复制到变量中CustomText
。SendPlay, !d^c
选择地址栏并将其内容复制到剪贴板。ClipWait, 1
等待最多一秒钟以使剪贴板包含任何数据。If ErrorLevel { ... }
检查剪贴板是否包含任何数据。如果没有,脚本将中止。
CurrentDir = %Clipboard%
将当前剪贴板内容复制到变量中CurrentDir
。Clipboard = %CustomText%
将剪贴板设置回其原始值。NewDir = %CurrentDir%\%CurrentDate% %CustomText%
指定新目录的名称。Run, cmd /c ...
执行命令...
然后退出。(md "%NewDir%" || pause)
尝试创建%NewDir%
。如果失败,它会暂停,这样您就可以看到错误消息。md "%NewDir%\1" && md "%NewDir%\2" && md "%NewDir%\3"
创建 3 个子目录。