Скрипты для Total Commander

  1. Offline

    Andrey_A

    Пользователь

    Posts: 275

    Скрипты - уникальный инструмент для достижения различных целей в работе с файлами и не только, особенно в файловом менеджере, даже если вы раньше об этом ничего не слышали и не знали, то путём простых движений вы можете оптимизировать свои действия
    Тема тестирования скриптов создана для увеличения функциональности Total Commander
    Всё это делается для тех, кто хочет экономить время и автоматизировать работу
    Огромное спасибо участникам, авторам и всем повлиявшим на тему
    #/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#
    В этой теме Каждый может выложить свой скрипт, написанный на любом языке: vbs, js, hta, au3,ahk, bat,cmd... - главное, чтобы он относился как-то к Total Commander, можно было им воспользоваться и к нему было должное описание к применению.
    #/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#
    В теме "Тестирование и заказ скриптов" Каждый может протестировать, дать свой комментарий (все комментарии из этой темы будут удаляться)...если есть интересная идея, вы так же можете поделиться ей в соседней теме и заказать скрипт, а вдруг она покажется интересной для авторов...
    #/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#



    Сообщение отредактировал LonerD 25 апреля 2017 - 04:38

    Читайте: Справочные материалы по работе c TC + Онлайн справка TC

    22 ноября 2011 - 13:03 / #1
  2. Offline

    Andrey_A

    Пользователь

    Posts: 275

    ArhiveTarPlus.vbs
    Архивирование выделенных файлов и папок в формат tar.xxx с помощью WCX плагинов ТС
    Используется TCMCWindow.exe - файл можете скачать в шапке темы

    ' ArhiveTarPlus.vbs
    '========================   Описание   =====================================
    ' Архивирование выделенных файлов и папок в формат tar.xxx  с помощью WCX плагинов ТС
    '=======================   Параметры  =====================================
    ' 1-й параметр: путь\куда\архивировать
    ' 2-й параметр: имя архива
    ' 3-й параметр: 1-е расширение архива
    ' 4-й параметр: 2-е расширение архива
    '========================   Примеры   =====================================
    ' %t "%O" "tar" "bzip2"

    ' Автор:             Аверин Андрей
    ' Версия:          1.4 (20.01.2010 - 02.11.2011)
    ' Mail:                 Averin-And@yandex.ru
    ' Site:                  http://tc-image.3dn.ru
    '====================   Изменяемые пути   ==================================
    TCMSW = "%COMMANDER_PATH%\Utilities\TotalCom\TCMC\TCMCWindow.exe"
    '========================================================================
    With WScript
      If .Arguments.Count < 4 Then
        MsgBox "Не хватает параметров! Должно быть ЧЕТЫРЕ параметра" &_
        vbNewLine & "Пример: %t ''%O'' ''tar'' ''bzip2''", _
        vbOKOnly & vbInformation,"Архивирование выделенных файлов и папок"
        .Quit
      End If
      Path =  .Arguments(0) : Name = .Arguments(1) : Arhive1 = .Arguments(2) : Arhive2 = .Arguments(3)
    End With

    P = LineSym(Path) : N = LineSym(Name)
    Lines = "t" & Arhive2 & ":" & Chr(34) & P & N & "." & Arhive1 & "." & Arhive2 & Chr(34)
    CreateObject("WScript.Shell").Exec(TCMSW & Chr(32) & Chr(34) & "ttcmc=CM508" &_
           Chr(34) & Chr(32) & Chr(34) & "pause=100" & Chr(34) & Chr(32) & Lines & "{ENTER}")
    WScript.Quit
    Function LineSym(Line)
      Stroka = "+^%~(){}[]"
      For i = 1 To Len(Line)
        s = Mid(Line, i, 1)
        If InStr(Stroka, s) > 0 Then
          If s = "%" Then
            s="{" & s & "}" & "{" & s & "}"
          Else
            s="{" & s & "}"
          End If
        End If
        Ls = Ls & s
      Next
      LineSym = Ls
    End Function
    Сообщение отредактировал Andrey_A 11 марта 2012 - 21:12

    Читайте: Справочные материалы по работе c TC + Онлайн справка TC

    23 ноября 2011 - 21:43 / #101
  3. Offline

    Andrey_A

    Пользователь

    Posts: 275

    Mkisofs.vbs
    Упаковать выделенные файлы и папки в ISO-образ (требуется mkisofs.exe)
    Скачать mkisofs.exe

    ' Mkisofs.vbs
    '========================   Описание   =====================================
    ' Упаковать выделенные файлы и папки в ISO-образ (требуется mkisofs.exe)
    '=======================   Параметры  =====================================
    ' 1-й параметр: Список папок\файлов
    ' 2-й параметр: Куда\упаковывать\
    ' 3-й параметр: Имя ISO-файла
    ' (если 3-го параметра нет, то имя вводится в диалоге)
    '========================   Примеры   =====================================
    ' %L %t
    ' %L "d:\Образы\"
    ' %L %t "%N"
    ' %L "d:\Образы\" "Имя_Образа"

    ' Автор:             Flasher & Аверин Андрей
    ' Версия:          1.3 (22.06.2011 - 08.11.2011)
    ' Site:                  http://tc-image.3dn.ru
    '====================   Изменяемые пути   ==================================
    Util = "%COMMANDER_PATH%\Utilities\CD\Mkisofs\Mkisofs.exe"
    '========================================================================
    Titles = "Создание образа ISO из выделенного списка"
    With CreateObject("WScript.Shell")
      Util = .ExpandEnvironmentStrings(Util)
      If Not CreateObject("Scripting.FileSystemObject").FileExists(Util) Then
        MsgBox "Не правильно указан путь до Mkisofs.exe" & vbNewLine &_
        "http://fy.chalmers.se/~appro/linux/DVD+RW/tools/win32/mkisofs.exe", vbOKOnly & vbInformation, Titles
        WScript.Quit
      End If
    End With

    With WScript
      Cnt = .Arguments.Count
      If Cnt > 1 Then
        List = .Arguments(0) : tPath = .Arguments(1)
        If Cnt > 2 Then
          Name = .Arguments(2)
        Else
          Clip = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")
          Name = InputBox("Введите имя ISO-файла:", Titles, Clip)
        End If
      Else
        MsgBox "Не хватает параметров!" & vbNewLine &_
        "Должно быть минимум ДВА параметра %L %t", vbOKOnly & vbInformation, Titles
        .Quit
      End If
      If Len(Name) = 0 Then .Quit
    End With

    On Error Resume Next
    With CreateObject("Scripting.FileSystemObject")
      For Each F In Split(.OpenTextFile(List, 1).ReadAll, vbNewLine)
        If .FolderExists(F) Then Str = Str & Chr(32) & Chr(34) & .GetFolder(F).Name & Chr(34) & "="& Chr(34) & F & Chr(34)
        If .FileExists(F) Then
          If Len(.GetFileName(F))<=103 Then
            Str = Str & Chr(32) & Chr(34) & F & Chr(34)
          Else
            Str = Str & Chr(32) & Chr(34) & Left(.GetBaseName(F), Len(.GetBaseName(F))+103-Len(.GetFileName(F))) & "." & .GetExtensionName(F) & Chr(34) & "="& Chr(34) & F & Chr(34)
          End If
        End If
      Next
    End With
    Str = Replace(Chr(34) & tPath & Name & ".iso" & Chr(32) & Chr(34) & Str, "\", "/")
    With CreateObject("WScript.Shell")
      .Run Chr(34) & Util & Chr(34) & " -quiet -r -f -joliet-long -nobak -graft-points -o " & Str, 0, True
      .Popup "Образ создан!", 1, "Результат", 64
    End With
    Сообщение отредактировал Andrey_A 11 марта 2012 - 21:12

    Читайте: Справочные материалы по работе c TC + Онлайн справка TC

    23 ноября 2011 - 21:45 / #102
  4. Offline

    Andrey_A

    Пользователь

    Posts: 275

    RestorePoint.vbs
    Создание точки восстановления системы

    ' RestorePoint.vbs
    ' Создание точки восстановления
    ' Site:                  http://tc-image.3dn.ru
    '====================================
    Titles = "Создание точки восстановления"
    If WScript.Arguments.Count > 0 Then
      If GetObject("winmgmts:\\.\root\default:Systemrestore").CreateRestorePoint("Restore Point Today", 0, 100) = 0 Then
        MsgBox Titles & " прошло успешно. Через некоторое время ее можно будет увидеть.", 64, Titles
      Else
        MsgBox Titles & " прошло неудачно. Пожалуйста, проверьте ваш диск.", 64, Titles
      End If
    Else
      With CreateObject("Shell.Application")
      .ShellExecute "wscript.exe", Chr(34) & WScript.ScriptFullName & Chr(34) & " RunAsAdmin", , "runas", 1
      End With
    End If
    Сообщение отредактировал Andrey_A 11 марта 2012 - 21:13

    Читайте: Справочные материалы по работе c TC + Онлайн справка TC

    24 ноября 2011 - 23:29 / #103
  5. Offline

    Andrey_A

    Пользователь

    Posts: 275

    Обновились вспомогающие файлы для скриптинга:

    FunctionsPlus.vbs (Версия 1.9. от 28.01.2012)
    FunctionsINIRWS.vbs (Версия 1.3. от 30.01.2012)
    TCMCWindow (Версия 1.3. от 31.01.2012)

    Их можно скачать в шапке темы

    Читайте: Справочные материалы по работе c TC + Онлайн справка TC

    11 февраля 2012 - 05:55 / #104
  6. Offline

    371121

    Пользователь

    Posts: 33

    Доброго времени суток.

    Вот если бы такие скрипты сделать :

    Копировать файлы (треки) в папки с названием альбома /год-название альбома/

    В тотале есть программка 'FolderMarker - Присвоение иконок к папкам' - хорошо бы,чтобы можно было выделять папки по цвету

    Спасибо
    18 февраля 2012 - 22:54 / #105
  7. Offline

    Flasher

    Пользователь

    Posts: 95

    371121, вторая задача вроде ясна:

    А вот для первой нужна конкретика. Формат файлов, наличие/отсутствие/создание папок, их местоположение, точный шаблон имён и т.д.
    Сообщение отредактировал Flasher 25 февраля 2012 - 18:22
    19 февраля 2012 - 03:50 / #106
  8. Offline

    371121

    Пользователь

    Posts: 33

    Flasher
    А вот для первой нужна конкретика. Формат файлов, наличие/отсутсвие/создание папок, их местоположение, точный шаблон имён и т.д.

    Допустим имеется большой сборник mp3-треков(Формат файлов)и нужно быстренько сортировать их группами по папкам с названием исполнителя и альбома,вообще примерно такая фишка в тотале уже есть -
    'Переместить выделенные треки в папки с именем артиста',но лучше так -
    основная папка - имя артиста, вложенные в неё папки с названиями альбомов этого исполнителя,если данных в тэгах нет,то эти треки в отдельную папку -'данных нет'или оставить не обработанными,но это если всех данных нет,а так пусть сортирует по том,что есть.Вот как-то так.

    Выделить папки с одинаковой иконкой

    Если можно подробнее как запустить скрипт на тотале

    Спасибо
    19 февраля 2012 - 12:13 / #107
  9. Offline

    Flasher

    Пользователь

    Posts: 95

    Цитата: 371121
    вообще примерно такая фишка в тотале уже есть
    Фишка, а точнее au3-скрипт, есть не в Тотале, а в сборке.
    Цитата: 371121
    а так пусть сортирует по том,что есть.
    Не представляю, как можно перемещать, не знамо куда. Тегов может быть уйма, а папка нужна одна.
    Про местоположение и существование папок так и не было отвечено.

    Цитата: 371121
    Если можно подробнее как запустить скрипт на тотале
    Курсор установить на папке со значком. Остальная информация есть в спойлере "как использовать скрипты" шапки темы.
    Сообщение отредактировал Flasher 19 февраля 2012 - 20:53
    19 февраля 2012 - 20:48 / #108
  10. Offline

    371121

    Пользователь

    Posts: 33

    Курсор установить на папке со значком. Остальная информация есть в спойлере "как использовать скрипты" шапки темы.

    В скрипте 'Выделить папки с одинаковой иконкой' не написано с каким именем и с каким расширением его сохранять

    Про местоположение и существование папок так и не было отвечено.

    Из одной папки,где находятся mp3-треки в другую в противоположном окне,но уже разложенными по артистам и альбомам.Тоже самое,что
    'Переместить выделенные треки в папки с именем артиста',только в каждой папке
    с именем артиста его треки в папках по альбомам
    Сообщение отредактировал 371121 19 февраля 2012 - 22:56
    19 февраля 2012 - 22:36 / #109
  11. Offline

    Flasher

    Пользователь

    Posts: 95

    Цитата: 371121
    В скрипте 'Выделить папки с одинаковой иконкой' не написано с каким именем и с каким расширением его сохранять
    С расширением vbs. Забываю, что не все тут на форуме wincmd.ru бывают. Базовое имя файла скрипта никогда и нигде роли не играло.

    Для mp3 условие перемещения - наличие тега "Артист" (иначе смысл?):
    Сообщение отредактировал Flasher 26 февраля 2012 - 20:52
    19 февраля 2012 - 23:42 / #110

Статистика форума, пользователей онлайн: 0 (за последние 30 минут)

---
Создано тем
107
Всего сообщений
4048
Пользователей
99000
Новый участник
termojader