1. Куча / Говнокод #16885

    +132

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    Opt("WinTitleMatchMode", 2)             ; нечувствительность к неточным именам заголовков
        WinWaitActive("Total Commander")        ; ждать активации Тотала
        Send("{TAB}")                           ; перейти в соседнюю (от панели, где лежит скрипт) панель
        Send("!^{F12}")                         ; глобал хоткей Ctrl+Alt+F12 Пунто Свитчера = вырубить автопереключение (чтоб не мешал)
        Send("{END}")                           ; перейти в конец списка файлов в Тотале (папок в конце списка точно нет)
        Send("сmd")                            ; вызвать заранее в Тотал-консоли cmd-консоль (у меня Тотал-консоль (sic!) вдруг забастовала насчёт дос-команды move)
        Send("{ENTER}")
        WinWaitActive("cmd.exe")                ; дождаться появления cmd-консоли
        $count = 0                              ; счётчик для цикла-1 в положении "включено"
        Do                                      ; цикл-1
         WinActivate("Total Commander")                 ; повторная активация Тотала
         ClipPut("")                                    ; опустошение буфера
         $namefull = ""                                 ; опустошение переменной памяти, подготовка к циклу-2
         Do                                             ; цикл-2
          Send("{F11}")                                         ; хоткей Тотала F11 = cm_CopyNamesToClip, взять имя файла в буфер
          $namefull = ClipGet()                                 ; заполнить переменную памяти из буфера ("картинка_by_автор-хэш.png")
         Until $namefull <> ""                          ; хреначить цикл-2, пока переменная точно не заполнится
         If StringInStr($namefull, ".") > 0 Then        ; условие-1 если это файл, то
          If StringInStr($namefull, "_by_") > 0 Then            ; условие-2 если этот файл девиантартовский, то
           $nameright = StringSplit ($namefull, "_by_", 1)              ; порвать имя файла на начало и хвост ($nameright[2] = "автор-хэш.png")
           $name = StringSplit ($nameright[2], "-")                     ; у хвоста оторвать кончик (оставив "автор" в name[1])
           WinActivate("cmd.exe")                                       ; активировать cmd-консоль
           $newname = "md " & $name[1] & " & move " & $namefull & " " & $name[1] ; набить цепь из трёх дос-команд на создание папки, перенос картинки в неё
           Send($newname)                                               ; послать эту цепь в cmd-консоль
           Send("{ENTER}")
          Else                                                  ; иначе-2 (напоролся на девиантарт-неформатный файл)
           Send("{UP}")                                                 ; листнуть выше
          EndIf                                                 ; конец условия-2
         Else                                           ; иначе-1 (напоролся на папку)
          $count = 1                                            ; счётчик для цикла-1 в положении "выключено"
         EndIf                                          ; конец условия-1
        Until $count <> 0                       ; хреначить цикл-1, пока не сработает счётчик остановки
        WinActivate("cmd.exe")                  ; активировать cmd-консоль
        Send("exit")                            ; дать команду на выход
        Send("{ENTER}")
        Send("!^{F12}")                         ; врубить автопереключение Пунто Свитчера обратно
        Beep ()                                 ; дать звуковой сигнал

    Скрипт для AutoIt (который сам по себе костыль), который рассортировывает кучу скачанных с девиантарта файлов по папкам. Но КАК он это делает!

    Запостил: Conner, 17 Октября 2014

    Комментарии (2) RSS

    Добавить комментарий