- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 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 (который сам по себе костыль), который рассортировывает кучу скачанных с девиантарта файлов по папкам. Но КАК он это делает!