Advertisement
Rainbow_Spike

AutoIt-сортировка картинок с DeviantArt по подпапкам

Oct 16th, 2014
341
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 3.47 KB | None | 0 0
  1. Лучше http://pastebin.com/9QNUtsdL
  2. ***
  3.  
  4. Opt("WinTitleMatchMode", 2)     ; нечувствительность к неточным именам заголовков
  5. WinWaitActive("Total Commander")    ; ждать активации Тотала
  6. Send("{TAB}")               ; перейти в соседнюю (от панели, где лежит скрипт) панель
  7. Send("!^{F12}")             ; глобал хоткей Ctrl+Alt+F12 Пунто Свитчера = вырубить автопереключение (чтоб не мешал)
  8. Send("{END}")               ; перейти в конец списка файлов в Тотале (папок в конце списка точно нет)
  9. Send("сmd")                ; вызвать заранее в Тотал-консоли cmd-консоль (у меня Тотал-консоль (sic!) вдруг забастовала насчёт дос-команды move)
  10. Send("{ENTER}")
  11. WinWaitActive("cmd.exe")        ; дождаться появления cmd-консоли
  12. $count = 0              ; счётчик для цикла-1 в положении "включено"
  13. Do                  ; цикл-1
  14.  WinActivate("Total Commander")         ; повторная активация Тотала
  15.  ClipPut("")                    ; опустошение буфера
  16.  $namefull = ""                 ; опустошение переменной памяти, подготовка к циклу-2
  17.  Do                     ; цикл-2
  18.   Send("{F11}")                     ; хоткей Тотала F11 = cm_CopyNamesToClip, взять имя файла в буфер
  19.   $namefull = ClipGet()                 ; заполнить переменную памяти из буфера ("картинка_by_автор-хэш.png")
  20.  Until $namefull <> ""              ; хреначить цикл-2, пока переменная точно не заполнится
  21.  If StringInStr($namefull, ".") > 0 Then    ; условие-1 если это файл, то
  22.   If StringInStr($namefull, "_by_") > 0 Then        ; условие-2 если этот файл девиантартовский, то
  23.    $nameright = StringSplit ($namefull, "_by_", 1)      ; порвать имя файла на начало и хвост ($nameright[2] = "автор-хэш.png")
  24.    $name = StringSplit ($nameright[2], "-")         ; у хвоста оторвать кончик (оставив "автор" в name[1])
  25.    WinActivate("cmd.exe")                   ; активировать cmd-консоль
  26.    $newname = "md " & $name[1] & " & move " & $namefull & " " & $name[1] ; набить цепь из трёх дос-команд на создание папки, перенос картинки в неё
  27.    Send($newname)                       ; послать эту цепь в cmd-консоль
  28.    Send("{ENTER}")
  29.   Else                          ; иначе-2 (напоролся на девиантарт-неформатный файл)
  30.    Send("{UP}")                         ; листнуть выше
  31.   EndIf                         ; конец условия-2
  32.  Else                       ; иначе-1 (напоролся на папку)
  33.   $count = 1                        ; счётчик для цикла-1 в положении "выключено"
  34.  EndIf                      ; конец условия-1
  35. Until $count <> 0           ; хреначить цикл-1, пока не сработает счётчик остановки
  36. WinActivate("cmd.exe")          ; активировать cmd-консоль
  37. Send("exit")                ; дать команду на выход
  38. Send("{ENTER}")
  39. Send("!^{F12}")             ; врубить автопереключение Пунто Свитчера обратно
  40. Beep ()                 ; дать звуковой сигнал
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement