我需要一個 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 個子目錄。