AHK 用於建立資料夾+子資料夾

AHK 用於建立資料夾+子資料夾

我需要一個 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") { ... }檢查是否WinClassCabinetWClass(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 個子目錄。

相關內容