Скрипты для 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

    RenameDifferentCounter.vbs
    Переименование имён выделенных файлов по маске [P] [заданное слово] [C]

    ' RenameDifferentCounter.vbs
    '========================   Описание   =====================================
    ' Переименование имён выделенных файлов по маске [P] [заданное слово] [C]
    '   [P] - имя родительской папки,
    '   [С] - отдельный счетчик для каждой папки. Если вы испрользовали cm_DirBranch
    '=======================   Параметры  =====================================
    ' 1-й параметр: список файлов
    ' 2-й параметр: заданное слово, если "?", то без вставляемого слово
    ' 3-й параметр: разделитель между [P] [заданное слово] [C], если "?", то без разделителя
    '      если 2 и 3-й параметр пусты их можно ввести в диалоге
    ' 4-й параметр: разделитель, означает, что перед именем будетет добавлено
    '      имя "дедушкиной" папки + этот разделитель (маска [G] [P] [заданное слово] [C])
    '========================   Примеры   =====================================
    ' %L
    ' %L "Name" "_"
    ' %L "?"
    ' %L "?" "?"
    ' %L "?" " - "
    ' %L "?" "_" "_"
    ' Автор:             Batya & Аверин Андрей
    ' Версия:          1.2 (2009 - 14.11.2011)
    ' Site:                  http://tc-image.3dn.ru
    '========================================================================
    Option Explicit
    '========== Изменяемые параметры ========================================
    Const Precision = 4  ' Разрядность счетчика в маске
    '========================================================================
    Dim Mess, FSO, FileList, F, P, PF, G, Ext, NewName, NewPath, gWord, Delim, Cnt
    Dim Errors, Counter
    SetMess
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set Errors = CreateObject("Scripting.Dictionary")
    Set Counter = CreateObject("Scripting.Dictionary")
    With WScript
      Cnt = .Arguments.Count
      If Cnt = 0 Then
        MessBox Mess(1), 1 : Quit
      End If
      FileList  = .Arguments(0)
      If Not FSO.FileExists(FileList) Then
        MessBox Mess(2), 1  : Quit
      End If
      If Cnt < 2 Then
        gWord = InputBox("Переименование выделенных файлов из" & vbNewLine &_
                                          "разных папок по маске [P] [ваше СЛОВО] [C]" & vbNewLine &_
                                          "[P] - имя родительской папки," & vbNewLine &_
                                          "[С] - отдельный счетчик для каждого [P]" & vbNewLine &_
                                          "Вы можете ввести желаемое СЛОВО," & vbNewLine &_
                                          "для отображении его в имени (? - без слова)", Mess(0), "?")
        If Len(gWord) = 0 Then Quit
      Else
        gWord = .Arguments(1)
      End If
        If Cnt < 3 Then
        Delim = InputBox("Вы можете задать разделитель между словами" & vbNewLine &_
                                         "(если ввести ? разделителя не будет", Mess(0), "_")
        If Len(Delim) = 0 Then Quit
      Else
        Delim = .Arguments(2)
      End If
      If Delim = "?" Then Delim = ""
      If gWord = "?" Then
        gWord = ""
      Else
        gWord = gWord + Delim
      End If
    End With

    For Each F In Split(FSO.OpenTextFile(FileList, 1, False).ReadAll, vbNewLine)
      F = Trim(F)
      If F <> "" Then
        If FSO.FileExists(F) Then
          Ext = "." & FSO.GetExtensionName(F)
          PF = FSO.GetParentFolderName(F)
          P = FSO.GetBaseName(PF)
          If Cnt > 3 Then
            G = FSO.GetBaseName(FSO.GetParentFolderName(PF)) & WScript.Arguments(3)
          Else
            G = ""
          End If
          If Not Counter.Exists(PF) Then
            Counter.Add PF, 1
          Else
            Counter(PF) = Counter(PF) + 1
          End If
          NewName = G & P & Delim & gWord & Num(Counter(PF), Precision) & Ext
          NewPath = PF & "\" & NewName
          On Error Resume Next
          FSO.MoveFile F, NewPath
          If Err.Number > 0 Then Errors.Add F & "  ->  " & NewName, vbNewLine & Err.Description
          On Error GoTo 0
        End If
      End If
    Next

    If Errors.Count > 0 Then
      MessBox JoinErr(Errors), 2
    Else
      MessBox Mess(3), 3
    End If
    Quit

    Function Num(pC, pPrecision)
      Num = Right(String(pPrecision, "0") & pC, pPrecision)
    End Function

    Sub SetMess
      Set Mess = CreateObject("Scripting.Dictionary")
      Mess.Add 0,  "Переименование по маске"
      Mess.Add 1,  "Не указаны параметры!"
      Mess.Add 2,  "Входной параметр не является файлом!"
      Mess.Add 3,  "Операция завершена."
      Mess.Add 4,  "Операция завершена с ошибками." & vbNewLine
      Mess.Add 5,  "Невозможно выполнить переименование:" & vbNewLine
    End Sub

    Function JoinErr(pDic)
      Dim lKey
      For Each lKey In pDic
        JoinErr = JoinErr & vbNewLine & vbNewLine & Mess(5) & lKey & pDic(lKey)
      Next
      JoinErr = Mess(4) & JoinErr
    End Function

    Function MessBox(pMess, pMode)
      Dim lIcon
      Select Case pMode
        Case 1 lIcon = vbCritical + vbOKOnly
        Case 2 lIcon = vbExclamation + vbOKOnly
        Case 3 lIcon = vbInformation + vbOKOnly
      End Select
      MessBox = MsgBox(pMess, lIcon, Mess(0))
    End Function

    Sub Quit
      Set Counter = Nothing : Set Errors = Nothing : Set FSO = Nothing : Wscript.Quit
    End Sub
    Сообщение отредактировал Andrey_A 11 марта 2012 - 20:46

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

    23 ноября 2011 - 19:22 / #71
  3. Offline

    Andrey_A

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

    Posts: 275

    RenameLongName.vbs
    Умное переименование выделенных составных имён файлов

    ' RenameLongName.vbs
    '========================   Описание   =====================================
    ' Умное переименование выделенных составных имён файлов
    ' Файл replaceintextfilesfromfilelist.vbs будет переименован в ReplaceInTextFilesFromFileList.vbs
    '=======================   Параметры  =====================================
    ' 1-й параметр: список файлов
    ' 2-й параметр: файл со словами
    ' любой 3-й параметр означает, что будет произведено полное переименование
    '========================   Примеры   =====================================
    ' %L "%%COMMANDER_PATH%%\Scripts\ReNames\RenameLongName.txt"
    ' %L "%%COMMANDER_PATH%%\Scripts\ReNames\RenameLongName.txt" 1

    ' Автор:             Аверин Андрей
    ' Версия:          1.0 (13.11.2011)
    ' Mail:                 Averin-And@yandex.ru
    ' Site:                  http://tc-image.3dn.ru

    Set FSO = CreateObject("Scripting.FileSystemObject")
    SelFiles = FSO.OpenTextFile(GetPath(WScript.Arguments(0)), 1).ReadAll
    Spisok = Split((FSO.OpenTextFile(GetPath(WScript.Arguments(1)), 1)).ReadAll, vbNewLine)
    If WScript.Arguments.Count > 2 Then SelFiles = LCase(SelFiles)
    Text = SelFiles
    For n = 0 To Ubound(Spisok)
      k = InStr(Spisok(n), "=")
      If Len(Spisok(n)) > 0 And k > 2 Then
        sLeft = Left(Spisok(n), k - 1) : UpLeft = UCase(Left(sLeft, 1)) & Mid(sLeft, 2)
        If InStr(Text, UpLeft) > 0 Then Text = Replace(Text, UpLeft, "[[" & n  & "]]")
        If InStr(Text, sLeft) > 0 Then Text = Replace(Text, sLeft, "[[" & n  & "]]")
      End If
    Next

    For n = 0 To Ubound(Spisok)
      nm = "[[" & n  & "]]"
      If InStr(Text, nm) > 0 Then
        sRight = Mid(Spisok(n), InStr(Spisok(n), "=") + 1) : Text = Replace(Text, nm, sRight)
      End If
    Next

    If ListFile <> Text Then
      basList = Split(SelFiles, vbNewLine)
      corList = Split(Text, vbNewLine)
      For n = 0 To Ubound(basList)
        If basList(n) <> corList(n) Then
          File = corList(n)
          File = FSO.GetParentFolderName(File) & "\" & FSO.GetBaseName(File) &_
                     "." & LCase(FSO.GetExtensionName(File))
          On Error Resume Next
          FSO.MoveFile basList(n), File
        End If
      Next
    End If

    Set FSO = Nothing : WScript.Quit
    Function GetPath(pPath)
      GetPath = CreateObject("WScript.Shell").ExpandEnvironmentStrings(pPath)
    End Function


    пример RenameLongName.txt
    Сообщение отредактировал Andrey_A 11 марта 2012 - 20:54

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

    23 ноября 2011 - 19:27 / #72
  4. Offline

    Andrey_A

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

    Posts: 275

    RenameNameBuffer.vbs
    Переименовывает файл именем из буфера обмена
    Используется TCMC.exe - файл можете скачать в шапке темы

    ' RenameNameBuffer.vbs
    '================   Описание   =================
    ' Переименовывает файл именем из буфера обмена
    ' Параметры %P%N
    '
    ' Автор:             Аверин Андрей
    ' Версия:          1.3 (06.10.2010 - 31.08.2011)
    ' Mail:                 Averin-And@yandex.ru
    ' Site:                  http://tc-image.3dn.ru
    '============================================
    Dim Clip, Path, NoSymName

    Path = WScript.Arguments(0)
    Clip = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")

    If Len(Clip) > 0 Then
      Name = Trim(Clip)
      If InStr(Clip, vbNewLine) > 0 Then Name = Split(Clip, vbNewLine)(0)
      CharArr = Array(vbCrLf,vbCr,vbLf,"\","/","*","?","""",">","<", Chr(32))
      For i = 1 To Ubound(CharArr)
        If InStr(Name, CharArr(i)) > 0 Then Name = Replace(Name,  CharArr(i),"_")
      Next
      With CreateObject("Scripting.FileSystemObject")
        Ext = .GetExtensionName(Path)
        If InStr(Name,".") = 0 And Len(Ext) > 0Then Name = Name & "." & Ext
        pPath = .GetParentFolderName(Path)
        On Error Resume Next
        If .FileExists(Path) Then
          .MoveFile Path, pPath & "\" & Name
        Else
          .MoveFolder Path, pPath & "\" & Name
        End If
      End With
      CreateObject("WScript.Shell").Exec("%COMMANDER_PATH%\Utilities\TotalCom\TCMC\TCMC.exe 100 CM540")
    Else
        MsgBox "Скопируйте корректное имя и повторите команду ещё раз!", vbOKOnly &_
        vbCritical , "Переименование файла имением из буфера"
    End if
    Wscript.Quit
    Сообщение отредактировал Andrey_A 11 марта 2012 - 20:55

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

    23 ноября 2011 - 19:29 / #73
  5. Offline

    Andrey_A

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

    Posts: 275

    RenameRandom.vbs
    Переименование имён выделенных файлов\папок в случайными символами и цифрами

    ' RenameRandom.vbs
    '========================   Описание   =====================================
    ' Переименование имён выделенных файлов\папок в случайными символами и цифрами
    ' !!! Использовать разумно!!!
    ' 1-й параметр: список файлов
    ' 2-й параметр: длина имени
    ' 3-й параметр:
    '    0 - переименование латинскими буквами
    '    1 - переименование цифрами
    '    2 - переименование латинскими буквами и цифрами
    ' 4-й параметр: любой, означает, что будет сделан бэкап файлов\папок
    '========================   Примеры   =====================================
    ' %L 10 0 - переименование латинскими буквами
    ' %L 10 1 1 - переименование цифрами + бэкап

    ' Автор:             Аверин Андрей
    ' Версия:          1.1 (2010 - 02.11.2011)
    ' Mail:                 Averin-And@yandex.ru
    ' Site:                  http://tc-image.3dn.ru
    '=======================================================================
    Dim Name
    Bak = 0 : LN = 0
    With WScript
      Cnt = .Arguments.Count
      If Cnt < 2 Then
        MsgBox "Неправильно указано количество параметров!" & vbNewLine &_
        "Должно быть минимум ТРИ параметра! Пример: %L 10 0", vbOKOnly &_
        vbInformation, "Случайное переименование"
        .Quit
      End If
      N = .Arguments(1)
      If Cnt > 2 Then LN = .Arguments(2)
      If Cnt > 3 Then Bak = 1
    End With

    With CreateObject("Scripting.FileSystemObject")
      List = Split(.OpenTextFile(GetPath(WScript.Arguments(0))).ReadAll, vbNewLine)
      R = Second(Time) : NS = Ubound(List)
      If 20^N < NS Then
           MsgBox "Увеличьте параметр длины имени" & vbNewLine &_
           "Файлов больше, чем возможно переименовать с такой длиной имени файла!" ,_
           vbOKOnly &     vbCritical , "Случайное переименование"
           Wscript.Quit
      End If

      For m = 0 To NS - 1
        SelFile = List(m)

        If Mid(SelFile, Len(SelFile), 1) = "\" Then
             Ext = ""
        Else
                Ext = .GetExtensionName(SelFile)
        End If
           Path = .GetParentFolderName(SelFile) & "\"

        Select Case LN
          Case 0 Latinica
          Case 1 Numers
          Case 2 LatNum
        End Select
           Name = Right(Name, N) : FPath =  Path & Name & "." & Ext
        Do While (.FileExists(FPath) Or .FolderExists(FPath))
             i = i + 1
             Select Case LN
            Case 0, 2 FPath = Path & Mid(Name, 1, N - 1) & Chr(64 + i) & "." & Ext
            Case 1 FPath = Path & Mid(Name, 1, N - 2) & i + 9 & "." & Ext
          End Select
        Loop

        On Error Resume Next
        If Len(Ext) > 0 Then
          If Bak = 1 Then .CopyFile SelFile, SelFile & ".bak"
          .MoveFile SelFile, FPath
        Else
          sPath = Left(SelFile, Len(SelFile) - 1)
          If Bak = 1 Then .CopyFolder sPath, sPath & ".bak"
          .MoveFolder sPath, Path & Name
        End if
          Name = ""
      Next
    End With
    Wscript.Quit

    Sub Latinica
      For i = 1 To N
        R = Second(Time)
        If R > 0 Then
             S = Int(Rnd()*(R*R)) + 65
                If (S > 64 And S < 90) Or (S > 96 And S < 121) Then
               Name = Name & Chr(S)
                Else
                  i = i - 1
                End If
           End If
        Next
    End Sub

    Sub Numers
      For i = 1 To N
        R = Second(Time) : Name = Name & Int(Rnd()*(R+1))
      Next
    End Sub

    Sub LatNum
      For i = 1 To N
        R = Second(Time)
        If R > 0 Then
             S = Int(Rnd()*(R*R))
                If (S > 64 And S < 90) Or (S > 96 And S < 121) Or (S > 47 And S < 58) Then
               Name = Name & Chr(S)
                Else
                  i = i - 1
                End if
           End If
      Next
    End Sub

    Function GetPath(pPath)
      GetPath = CreateObject("WScript.Shell").ExpandEnvironmentStrings(pPath)
    End Function
    Сообщение отредактировал Andrey_A 11 марта 2012 - 20:55

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

    23 ноября 2011 - 19:32 / #74
  6. Offline

    Andrey_A

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

    Posts: 275

    RenameSearchReplace.vbs
    Переименование имён выделенных файлов\папок

    ' RenameSearchReplace.vbs
    '========================   Описание   =====================================
    ' Переименование имён выделенных файлов\папок с поиском и заменой
    '=======================   Параметры  =====================================
    ' 1-й параметр: список файлов
    ' 2-й параметр: что найти в имени
    ' 3-й параметр: на что заменить
    '========================   Примеры   =====================================
    ' %L " " "_"     Заменяет в имени файла\папки под курсором пробел на _
    ' %L "_" " "     Заменяет в имени файла\папки под курсором _ на пробел
    '
    ' Автор:             Аверин Андрей
    ' Версия:          1.0 (2010 - 02.11.2011)
    ' Mail:                 Averin-And@yandex.ru
    ' Site:                  http://tc-image.3dn.ru
    '=======================================================================
    With WScript
      If .Arguments.Count < 3 Then
        MsgBox "Не хватает параметров! Должно быть прописано 3 параметра"  & vbNewLine &_
        "Пример: %L ''Что найти в имени'' ''Чем заменить''" , vbOKOnly & vbInformation, _
        "Переименование имён выделенных файлов\папок" : .Quit
      End If
      Seach = .Arguments(1) : Replce = .Arguments(2)
    End With

    With CreateObject("Scripting.FileSystemObject")
      Set ListFile = .OpenTextFile(WScript.Arguments(0), 1)
      Do While Not ListFile.AtEndOfStream
        SelFile = ListFile.ReadLine
          Path = .GetParentFolderName(SelFile) & "\"
          Ext = .GetExtensionName(SelFile)
          Name = Replace(.GetBaseName(SelFile) ,Seach, Replce)
        On Error Resume Next
        If .FileExists(SelFile) Then .MoveFile SelFile, Path & Name & "." & Ext
        If .FolderExists(SelFile) Then .MoveFolder  Left(SelFile, Len(SelFile) - 1), Path & Name
      Loop
    End With
    ListFile.Close : Set ListFile = Nothing : Wscript.Quit
    Сообщение отредактировал Andrey_A 11 марта 2012 - 20:55

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

    23 ноября 2011 - 19:34 / #75
  7. Offline

    Andrey_A

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

    Posts: 275

    PlayOrAddInWinamp.vbs
    Проигрывание\добавление выделенных файлов и папок в Winamp

    ' PlayOrAddInWinamp.vbs
    '========================   Описание   =====================================
    ' Проигрывание\добавление выделенных файлов и папок в Winamp
    '=======================   Параметры   ====================================
    ' 1-й параметр: Список треков/папок с треками
    ' 2-й параметр: Путь/к/Winamp.exe
    ' любой 3-й параметр будет добавлять список к уже проигрывающему
    '========================   Примеры   =====================================
    ' %L "%%COMMANDER_PATH%%\Programs\Players\Winamp\Winamp.exe" - проиграть список
    ' %L "%%COMMANDER_PATH%%\Programs\Players\Winamp\Winamp.exe" 1 - добавить список

    ' Автор:             Аверин Андрей
    ' Версия:          1.1 (11.10.2011 - 08.11.2011)
    ' Mail:                 Averin-And@yandex.ru
    ' Site:                  http://tc-image.3dn.ru
    '========================================================================
    With WScript
      Cnt = .Arguments.Count
      If Cnt < 2 Then
        MsgBox "Не хватает параметров!" & vbNewLine &_
        "Должно быть минимум ДВА параметра" & vbNewLine &_
        "%L ''Путь\к\Winamp\Winamp.exe''",vbOKOnly & vbInformation,_
        "Управление Winamp " : .Quit
      End If
      Set FSO = CreateObject("Scripting.FileSystemObject")
      Program = CreateObject("WScript.Shell").ExpandEnvironmentStrings(.Arguments(1))
      If Not FSO.FileExists(Program) Then
        MsgBox "Не правильно указан путь до Winamp.exe", vbOKOnly & vbInformation,_
        "Управление Winamp " : WsEnd
      End If
      tmp = .Arguments(0) : m3u = tmp & ".m3u"

      Call FSO.CreateTextFile(m3u).Write(RegExpReplace(FSO.OpenTextFile(tmp).ReadAll, "(.*)\\$", "$1"))
      List = Chr(34) & m3u & Chr(34)

      If Cnt > 2 Then List = "/add" & Chr(32) & List
      CreateObject("WScript.Shell").Run Chr(34) & Program & Chr(34) & Chr(32) & List
      .Sleep 5000 : FSO.DeleteFile m3u : WsEnd
    End With

    Function RegExpReplace(pText, pFindStr, pNewStr)
      With New RegExp
        .Pattern = pFindStr : .IgnoreCase = True : .Global = True : .Multiline = True
        RegExpReplace = .Replace(pText, pNewStr)
      End With
    End Function

    Sub WsEnd : Set FSO = Nothing : WScript.Quit : End Sub
    Сообщение отредактировал Andrey_A 11 марта 2012 - 20:56

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

    23 ноября 2011 - 19:44 / #76
  8. Offline

    Andrey_A

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

    Posts: 275

    WacTimeWinamp.vbs
    Играть\Остановить Winamp через N минут (используется Wac.exe)
    Утилита Wac в составе плагина TWinAmp2

    ' WacTimeWinamp.vbs
    '========================   Описание   ==========================
    ' Играть\Остановить Winamp через N минут (используется Wac.exe)
    '=======================   Параметры  ===========================
    ' 1-й параметр: Команда посылаемая Winamp
    '     - play     - воспроизведение
    '     - pause - пауза
    ' 2-й параметр: Минуты (если нет параметра, минуты можно ввести в диалоге)
    '========================   Примеры   ===========================
    ' play 5     - Играть через 5 минут
    ' pause 5 - Поставить на паузу  через 5 минут

    ' Автор:             Аверин Андрей
    ' Версия:          1.0 (08.11.2011)
    ' Mail:                 Averin-And@yandex.ru
    ' Site:                  http://tc-image.3dn.ru
    '========================  Изменяемые пути  ======================
    Wac = "%COMMANDER_PATH%\Utilities\MultiMedia\Twinamp\Wac.exe"
    '===============================================================
    Wac = CreateObject("WScript.Shell").ExpandEnvironmentStrings(Wac)
    If Not CreateObject("Scripting.FileSystemObject").FileExists(Wac) Then
      MsgBox "Не правильно указан путь до Wac.exe" & vbNewLine &_
      "скачать Wac http://wincmd.ru/plugring/TWinAmp2.html",_
      vbOKOnly & vbInformation, "Управление Winamp "
      WScript.Quit
    End If

    With WScript
      Cnt = .Arguments.Count
      If Cnt > 0 Then
        Comand = .Arguments(0)
        If Cnt > 1 Then
          TimeOut = .Arguments(1)
        Else
          TimeOut = InputBox("Введите через сколько минут послать команду Winamp",_
          "Управление Winamp ", "5")
        End If
      Else
        MsgBox "Не хватает параметров!" & vbNewLine &_
        "Должно быть минимум ДВА параметра" & vbNewLine &_
        "Пример: pause 5",vbOKOnly & vbInformation,_
        "Управление Winamp "
        .Quit
      End If
      If Len(TimeOut) = 0 Then .Quit
    End With
    WScript.Sleep CInt(TimeOut) * 60 * 1000 ' Время задержки в миллисекундах

    WScript.CreateObject("WScript.Shell").Run Chr(34) & Wac & Chr(34) & Comand
    WScript.Quit
    Сообщение отредактировал Andrey_A 11 марта 2012 - 20:56

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

    23 ноября 2011 - 19:46 / #77
  9. Offline

    Andrey_A

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

    Posts: 275

    RunProgramParam.vbs
    Запуск программ, скриптов, батников со СКОЛЬКО УГОДНО параметрами из файл списка ПО ОЧЕРЕДИ

    ' RunProgramParam.vbs
    '========================   Описание   ========================================
    ' Запуск программ, скриптов, батников со СКОЛЬКО УГОДНО параметрами из файл списка ПО ОЧЕРЕДИ
    '=======================  Дополнение ========================================
    ' Программа и параметры в файл списке обрамить в квадратные скобки [ ] [ ]
    ' Пример:
    ' [%COMMANDER_PATH%\Utilities\Scripting\AutoIt\AutoIt3.exe] [%COMMANDER_PATH%\Scripts\TextWork\CopyXlsInText.au3] [2] [1] [2] [0] [1] [%COMMANDER_PATH%\Files\Lists\CreateMenu\WcmMenuImage.xlsx] [%COMMANDER_PATH%\LANGUAGE\Wcmd_Rus.ini] [1]
    ' [%COMMANDER_PATH%\Files\Bat\CopyTcFilesFromTc.bat] [%COMMANDER_PATH%\Files\Bat\]
    '========================  Параметры ========================================
    ' В параметрах вызова должно быть прописано: {путь к файл списку}
    ' Пример:  "%%COMMANDER_PATH%%\Files\Lists\CreateMenu\RunWcmMenu.txt"
    '
    ' Автор:             Аверин Андрей
    ' Версия:          1.1 (2010)
    ' Mail:                 Averin-And@yandex.ru
    ' Site:                  http://tc-image.3dn.ru
    '=========================================================================
    Option Explicit
    Dim WSH, ListFile, SelFile, Program, Param, FF, Data, i, Line, PData
    Set WSH = CreateObject("WScript.Shell")

    FF = GetPath(WScript.Arguments(0))
    Set ListFile = CreateObject("Scripting.FileSystemObject").OpenTextFile(FF, 1)

    Do While Not ListFile.AtEndOfStream
      SelFile = ListFile.ReadLine
      SelFile = Mid(SelFile, 2, Len(SelFile) - 2)
      Data = Split(SelFile, "] [")

      For i = 0 To Ubound(Data)
        If Mid(Data(i), 1, 1) = "%" Then
          PData = GetPath(Data(i))
        Else
          PData = Data(i)
        End if
        If Right(Data(i), 1) = "\" Then PData = PData & "\"
        Line = Line & PData & Chr(34) & Chr(32) & Chr(34)
      Next

      WSH.Run Chr(34) & Line & Chr(34), 2, True
      Line = ""
    Loop

    ListFile.Close : Set ListFile = Nothing : Set WSH = Nothing : WScript.Quit
    Function GetPath(pPath) : GetPath = WSH.ExpandEnvironmentStrings(pPath) : End Function
    Сообщение отредактировал Andrey_A 11 марта 2012 - 20:57

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

    23 ноября 2011 - 19:48 / #78
  10. Offline

    Andrey_A

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

    Posts: 275

    RunSelectInNSCopy.vbs
    Копирование ВЫДЕЛЕННЫХ "плохих" файлов ПО ОЧЕРЕДИ программой NSCopy.exe
    скачать NSCopy

    ' RunSelectInNSCopy.vbs
    '========================   Описание   =====================================
    ' Копирование ВЫДЕЛЕННЫХ "плохих" файлов ПО ОЧЕРЕДИ программой NSCopy.exe
    '========================  Параметры =====================================
    ' {Cписок файлов} {путь\куда\копировать}
    ' Пример: %L %t
    '
    ' Автор:             Аверин Андрей
    ' Версия:          1.2 (21.09.2010 - 08.11.2011)
    ' Mail:                 Averin-And@yandex.ru
    ' Site:                  http://tc-image.3dn.ru

    Option Explicit
    '====================   Изменяемые пути   ==================================
    Program = "%COMMANDER_PATH%\Plugins\wfx\BadCopy\NSCopy\NSCopy.exe"
    '========================================================================
    If WScript.Arguments.Count < 2 Then
      MsgBox "Не хватает параметров!" & vbNewLine &_
      "Должно быть минимум ДВА параметра %L %t",_
      vbOKOnly & vbInformation, "Копирование выделенных ''плохих'' файлов"
      WScript.Quit
    End If

    Dim FSO, WSH, ListFile, Program, Param, TPath
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set WSH = CreateObject("WScript.Shell")

    Program = GetPath(Program)
    If Not FSO.FileExists(Program) Then
      MsgBox "Не правильно указан путь до NSCopy.exe" & vbNewLine &_
      "скачать http://dmitrys.nm.ru/programs/nscopy/", vbOKOnly & vbInformation,_
      "Копирование выделенных ''плохих'' файлов"
      WsEnd
    End If

    TPath = WScript.Arguments(1)
    Set ListFile = FSO.OpenTextFile(GetPath(WScript.Arguments(0)), 1)

    Do While Not ListFile.AtEndOfStream
        Param = ListFile.ReadLine
        WSH.Run Chr(34) & Program & Chr(34) & Chr(32) & Chr(34) & Param & Chr(34) &_
        Chr(32) & Chr(34) & TPath & FSO.GetFileName(Param) & Chr(34) & " /e" ,2,True
    Loop

    ListFile.Close : Set ListFile = Nothing : WsEnd
    Function GetPath(pPath) : GetPath = WSH.ExpandEnvironmentStrings(pPath) : End Function
    Sub WsEnd : Set FSO = Nothing : Set WSH = Nothing : WScript.Quit : End Sub
    Сообщение отредактировал Andrey_A 11 марта 2012 - 20:58

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

    23 ноября 2011 - 19:57 / #79
  11. Offline

    Andrey_A

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

    Posts: 275

    RunSelectInOdfToTxt.vbs
    Конвертирование ВЫДЕЛЕННЫХ файлов OpenOffice в текстовый формат
    скачать OdfToTxt.exe

    ' RunSelectInOdfToTxt.vbs
    '========================   Описание   =====================================
    ' Конвертирование ВЫДЕЛЕННЫХ файлов OpenOffice в текстовый формат
    ' (ODT ODS ODP ODG ODF ODB ODM OTT OTH OTS OTG OTP SXW SXC SXG SXI SXD SXM STW STC STD STI)
    '========================  Параметры =====================================
    ' 1-й параметр: Cписок файлов
    ' 2-й параметр: путь\куда\конвертировать
    '========================    Примеры    ======================================
    ' %L %t          -    Выделенные .OD* .OT* .SX* .ST* Конвертировать  в .TXT (ANSI)
    '
    ' Автор:             Аверин Андрей
    ' Версия:          1.1 (16.07.2011 - 09.11.2011)
    ' Mail:                 Averin-And@yandex.ru
    ' Site:                  http://tc-image.3dn.ru

    Option Explicit
    '====================   Изменяемые пути   ==================================
    Program = "%COMMANDER_PATH%\Plugins\Wdx\TextSearch\Conv\OdfToTxt\OdfToTxt.exe"
    '========================================================================
    If WScript.Arguments.Count < 2 Then
      MsgBox "Не хватает параметров!" & vbNewLine &_
      "Должно быть минимум ДВА параметра %L %t",_
      vbOKOnly & vbInformation, "Конвертирование выделенных файлов OpenOffice"
      WScript.Quit
    End If

    Dim FSO, WSH, ListFile, Program, Param, TPath, Name
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set WSH = CreateObject("WScript.Shell")

    Program = GetPath(Program)
    If Not FSO.FileExists(Program) Then
      MsgBox "Не правильно указан путь до OdfToTxt.exe" & vbNewLine &_
      "скачать http://wincmd.ru/plugring/TextSearch.html", vbOKOnly & vbInformation,_
      "Конвертирование выделенных файлов OpenOffice"
      WsEnd
    End If

    TPath = WScript.Arguments(1)
    Set ListFile = FSO.OpenTextFile(GetPath(WScript.Arguments(0)), 1)

    Do While Not ListFile.AtEndOfStream
        Param = ListFile.ReadLine : Name = FSO.GetBaseName(Param)
        WSH.Run Chr(34) & Program & Chr(34) & Chr(32) & Chr(34) & Param & Chr(34) & Chr(32) & Chr(34) &_
                            "/ANSI" & Chr(34) & Chr(32) & Chr(34) & "/Out=" & TPath & Name & ".txt" & Chr(34) , 2, True
    Loop

    ListFile.Close : Set ListFile = Nothing : WsEnd
    Function GetPath(pPath) : GetPath = WSH.ExpandEnvironmentStrings(pPath) : End Function
    Sub WsEnd : Set FSO = Nothing : Set WSH = Nothing : WScript.Quit : End Sub
    Сообщение отредактировал Andrey_A 11 марта 2012 - 20:59

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

    23 ноября 2011 - 20:00 / #80

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

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