Приветствую Вас Гость | Сегодня: 27.11.2024, Среда | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Скрипты
Andrey_AДата: Среда, 12.10.2011, 21:18 | Сообщение # 1
Сборщик TC Image
Зареген: 04.08.2011
Всего сообщений: 431
Тестирование скриптов




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











Читайте: Справочные материалы по работе c TC + Онлайн справка TC
Награды: 16 Сборщик Total Commander Image! За 100 Сообщений!За 200 Сообщений!!!За 300 Сообщений!!!За 400 Сообщений!!!
Пользователь из города: Сочи, Хоста
Andrey_AДата: Воскресенье, 06.11.2011, 23:09 | Сообщение # 81
Сборщик TC Image
Зареген: 04.08.2011
Всего сообщений: 431
Подсчёт к-ва раз встречающейся фразы в файле и вывод отчёта

Code
' CountPhraseInText.vbs
'========================   Описание   =====================================
' Подсчёт количества раз встречающейся фразы в файле и вывод отчёта
'=======================   Параметры  =====================================
' 1-й параметр: Файл, в котором небходимо подсчитать фразу
' 2-й параметр: Фраза (если параметр отсутствует, она вводится в диалоге)
'========================   Примеры   =====================================
' %P%N                   - подсчёт фразы в файле под курсором, фраза вводится в диалоге
' %P%N "привет" - подсчёт фразы "привет" в файле под курсором
' "%%COMMANDER_PATH%%\Language\Wcmd_Rus.mnu" " em_"

' Автор:             Аверин Андрей
' Версия:          1.2 (2010 - 06.11.2011)
' Mail:                 Averin-And@yandex.ru
' Site:                  http://tc-image.3dn.ru
'=====================================================================
With WScript
   Cnt = .Arguments.Count
   If Cnt = 0 Then
     MsgBox "Не хватает параметров!"  & vbNewLine &_
     "Нужен минимум один параметр %P%N",_
     vbOKOnly & vbInformation, "Подсчёт фраз в тексте" : .Quit
   End If
   InFile = CreateObject("WScript.Shell").ExpandEnvironmentStrings(.Arguments(0))
   If Cnt > 1 Then
     fStr = .Arguments(1)
   Else
     Clip = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")
     fStr = InputBox("Введите тест для поиска", "Подсчёт к-ва текста", Clip)
   End If
End With

With CreateObject("Scripting.FileSystemObject")
   If Not .FileExists(InFile) Then WScript.Quit
   On Error Resume Next
   Set ts = .OpenTextFile(InFile, 1)
End With

Do Until ts.AtEndOfStream
   Stroka = ts.ReadLine
    For i = 1 To (Len(Stroka) - Len(fStr)+1)
      If Mid(Stroka, i, Len(fStr)) = fStr Then s = s + 1
    Next
Loop
MsgBox "Фраза" & Chr (34) & fStr & Chr (34) & vbNewLine &_
                 "повторяется в тексте " & Cstr(s) & " раз(а)",, "Результат:"
ts.Close : Set ts = Nothing : WScript.Quit


Читайте: Справочные материалы по работе c TC + Онлайн справка TC
Награды: 16 Сборщик Total Commander Image! За 100 Сообщений!За 200 Сообщений!!!За 300 Сообщений!!!За 400 Сообщений!!!
Пользователь из города: Сочи, Хоста
Andrey_AДата: Понедельник, 07.11.2011, 05:52 | Сообщение # 82
Сборщик TC Image
Зареген: 04.08.2011
Всего сообщений: 431
Вызывает окно безопасного отключения USB-дисков (требуется deveject.exe)
Code
' Usb.vbs
'========================================================================
' Вызывает окно безопасного отключения USB-дисков (требуется deveject.exe)

' Автор:             SkOle & Аверин Андрей
' Версия:          1.1 (08.11.2011)
' Site:                  http://tc-image.3dn.ru
'====================   Изменяемые пути   ==================================
Exe = "%COMMANDER_PATH%\Utilities\USB\deveject\deveject.exe"
'========================================================================
With CreateObject("WScript.Shell")
   Exe = .ExpandEnvironmentStrings(Exe)
   If Not CreateObject("Scripting.FileSystemObject").FileExists(Exe) Then
     MsgBox "Не правильно указан путь до deveject.exe" & vbNewLine &_
     "Дом.страница http://www.withopf.com/tools/deveject/", vbOKOnly & vbInformation,_
     "Безопасное отключение USB-дисков"
     WScript.Quit
   End If
   For Each objDisk In GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & "." & "\root\cimv2").ExecQuery("SELECT * FROM Win32_DiskDrive")
     If objDisk.InterfaceType = "USB" Then
        If MsgBox("Отключить " & objDisk.Caption & " ?", vbYesNo + vbQuestion, "Безопасное извлечение устройств") = vbYes Then .Run Chr(34) & Exe & Chr(34) & " -EjectId:" & objDisk.PNPDeviceID
     End If
   Next
End With
WScript.Quit


Читайте: Справочные материалы по работе c TC + Онлайн справка TC
Награды: 16 Сборщик Total Commander Image! За 100 Сообщений!За 200 Сообщений!!!За 300 Сообщений!!!За 400 Сообщений!!!
Пользователь из города: Сочи, Хоста
Andrey_AДата: Вторник, 08.11.2011, 03:52 | Сообщение # 83
Сборщик TC Image
Зареген: 04.08.2011
Всего сообщений: 431
Копирует и устанавливает выделенные шрифты в системную папку Font
Code
' InstallFont.vbs
'========================   Описание   ====================================
' Копирует и устанавливает выделенные шрифты в системную папку Font
' Установка шрифта вызовом API и регистрация шрифта в реестре
'========================  Параметры ====================================
' {файл список}
' %L
'
' Автор:             Аверин Андрей
' Версия:          1.2 (09.10.2010 - 28.12.2010)
' Mail:                 Averin-And@yandex.ru
' Site:                  http://tc-image.3dn.ru
'=======================================================================
Option Explicit
Dim FSO, WSH, ListFile, Path, Ext, i, TName, TPath
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
Set ListFile = FSO.OpenTextFile(WScript.Arguments(0), 1)
i = 0

Do While Not ListFile.AtEndOfStream
   Path = ListFile.ReadLine
   Ext = FSO.GetExtensionName(Path)
   TName = FSO.GetBaseName(Path) & "." & Ext
   TPath = WSH.SpecialFolders("Fonts") & "\" & TName
     If (FSO.FileExists(Path)) And (FSO.FileExists(TPath) = False) Then
       if UCase(Ext) = "TTF" Or UCase(Ext) = "OTF" Or UCase(Ext) = "TTC" Or UCase(Ext) = "FON" Then
         FSO.CopyFile Path, TPath
         WSH.Run "RunDll32.exe gdi32.dll,AddFontResourceA " & TName
         WSH.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts\" &_
         FSO.GetBaseName(Path) & " (TrueType)" ,TName,"REG_SZ"
         i = i +1
       End if
     End If
Loop

MsgBox "Скопировано и зарегистрировано в систему " &_
  i & " шрифта(ов)", vbInformation ,"Установка шрифтов"

ListFile.Close : Set ListFile = Nothing : Set FSO = Nothing : Set WSH = Nothing : WScript.Quit


Читайте: Справочные материалы по работе c TC + Онлайн справка TC
Награды: 16 Сборщик Total Commander Image! За 100 Сообщений!За 200 Сообщений!!!За 300 Сообщений!!!За 400 Сообщений!!!
Пользователь из города: Сочи, Хоста
satukДата: Вторник, 08.11.2011, 12:45 | Сообщение # 84
Генерал-полковник
Зареген: 05.01.2011
Всего сообщений: 765
Quote (Andrey_A)
Вызывает окно безопасного отключения USB-дисков

Ошибка в строке .Run Exe & " -EjectId:" & objDisk.PNPDeviceID, я предполагаю - проблема с отсутствием deveject.exe


Награды: 10 За 100 Сообщений!За 200 Сообщений!!!За 300 Сообщений!!!За 400 Сообщений!!!За 500 Сообщений!!!
Пользователь из города: Киев
Andrey_AДата: Вторник, 08.11.2011, 14:25 | Сообщение # 85
Сборщик TC Image
Зареген: 04.08.2011
Всего сообщений: 431
satuk Да, не хватает DevEject.exe, Как-то не заметил и не внёс это в комментарий,
Немного подправил скрипт - вынес путь, чтобы удобнее было вставить свой путь до утилиты, и внёс адрес дом сайта утилиты
Спасибо за внимательность


Читайте: Справочные материалы по работе c TC + Онлайн справка TC
Награды: 16 Сборщик Total Commander Image! За 100 Сообщений!За 200 Сообщений!!!За 300 Сообщений!!!За 400 Сообщений!!!
Пользователь из города: Сочи, Хоста
satukДата: Вторник, 08.11.2011, 15:28 | Сообщение # 86
Генерал-полковник
Зареген: 05.01.2011
Всего сообщений: 765
Andrey_A, спасибо. Работает лучше чем USB Disk Eject

Награды: 10 За 100 Сообщений!За 200 Сообщений!!!За 300 Сообщений!!!За 400 Сообщений!!!За 500 Сообщений!!!
Пользователь из города: Киев
Andrey_AДата: Вторник, 08.11.2011, 17:37 | Сообщение # 87
Сборщик TC Image
Зареген: 04.08.2011
Всего сообщений: 431
Упаковать выделенные файлы и папки в ISO-образ (требуется mkisofs.exe)
Скачать mkisofs.exe

Code
' 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


Читайте: Справочные материалы по работе c TC + Онлайн справка TC
Награды: 16 Сборщик Total Commander Image! За 100 Сообщений!За 200 Сообщений!!!За 300 Сообщений!!!За 400 Сообщений!!!
Пользователь из города: Сочи, Хоста
Andrey_AДата: Вторник, 08.11.2011, 20:34 | Сообщение # 88
Сборщик TC Image
Зареген: 04.08.2011
Всего сообщений: 431
Играть\Остановить Winamp через N минут (используется Wac.exe)
Скачать TWinAmp, в архиве которого Wac
Code
' 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


Читайте: Справочные материалы по работе c TC + Онлайн справка TC
Награды: 16 Сборщик Total Commander Image! За 100 Сообщений!За 200 Сообщений!!!За 300 Сообщений!!!За 400 Сообщений!!!
Пользователь из города: Сочи, Хоста
Andrey_AДата: Вторник, 08.11.2011, 22:19 | Сообщение # 89
Сборщик TC Image
Зареген: 04.08.2011
Всего сообщений: 431
Копирование ВЫДЕЛЕННЫХ "плохих" файлов ПО ОЧЕРЕДИ программой NSCopy.exe
Скачать NSCopy

Code
' 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


Читайте: Справочные материалы по работе c TC + Онлайн справка TC
Награды: 16 Сборщик Total Commander Image! За 100 Сообщений!За 200 Сообщений!!!За 300 Сообщений!!!За 400 Сообщений!!!
Пользователь из города: Сочи, Хоста
Andrey_AДата: Вторник, 08.11.2011, 22:51 | Сообщение # 90
Сборщик TC Image
Зареген: 04.08.2011
Всего сообщений: 431
Конвертирование ВЫДЕЛЕННЫХ "текстовых" файлов ПО ОЧЕРЕДИ программой ABCtext.exe
Скачать ABCtextConverter

Code
' RunSelectInABCTextConverter.vbs
'========================   Описание   =====================================
' Конвертирование ВЫДЕЛЕННЫХ "текстовых" файлов ПО ОЧЕРЕДИ программой ABCtext.exe
'========================  Параметры =====================================
' 1-й параметр: Cписок файлов
' 2-й параметр: путь\куда\конвертировать
' 3-й параметр: расширение ABC
' 4-й параметр: параметр1 ABC
' 5-й параметр: параметр2 ABC
' Дополнительные 3, 4, 5 параметры необходимо смотреть в справке программы
'========================    Примеры    =====================================
' %L %t "pdf" 3 0         -    Конвертация .TXT под курсором в .PDF
' %L %t "txt" 0 5          -    Конвертация .HTML .HTM .MHT под курсором в .TXT (ANSI)
' %L %t "html" 7 1      -    Конвертация .DOC .DOCX .RTF под курсором в .HTML
'
' Автор:             Аверин Андрей
' Версия:          1.2 (07.10.2010 - 08.11.2011)
' Mail:                 Averin-And@yandex.ru
' Site:                  http://tc-image.3dn.ru

Option Explicit
'====================   Изменяемые пути   ==================================
Program = "%COMMANDER_PATH%\Utilities\Texts\AbcText\Abctext.exe"
'========================================================================
If WScript.Arguments.Count < 5 Then
   MsgBox "Не хватает параметров!" & vbNewLine &_
   "Должно быть минимум ПЯТЬ параметра" & vbNewLine &_
   "Примкр: %L %t ''html'' 7 1", vbOKOnly & vbInformation,_
   "Конвертирование выделенных ''текстовых'' файлов"
   WScript.Quit
End If

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

Program = GetPath(Program)
If Not FSO.FileExists(Program) Then
   MsgBox "Не правильно указан путь до Abctext.exe", vbOKOnly & vbInformation,_
   "Конвертирование выделенных ''текстовых'' файлов"
   WsEnd
End If

With WScript
   TPath = .Arguments(1) : Ext = .Arguments(2) : P1 = .Arguments(3) : P2 = .Arguments(4)
   Set ListFile = FSO.OpenTextFile(GetPath(.Arguments(0)), 1)
End With

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) & TPath & Name & "." & Ext & Chr(34) & Chr(32) & P1 & Chr(32) & P2 ,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


Читайте: Справочные материалы по работе c TC + Онлайн справка TC
Награды: 16 Сборщик Total Commander Image! За 100 Сообщений!За 200 Сообщений!!!За 300 Сообщений!!!За 400 Сообщений!!!
Пользователь из города: Сочи, Хоста
Andrey_AДата: Среда, 09.11.2011, 20:05 | Сообщение # 91
Сборщик TC Image
Зареген: 04.08.2011
Всего сообщений: 431
Запуск\Остановка\Перезапуск программы
Code
' RunStopRestart.vbs
'========================   Описание   =====================================
' Запуск\Остановка\Перезапуск программы
'========================  Параметры =====================================
' 1-й параметр: полный\путь\к\программе.exe
' 2-й параметр:
'    0 - Перезапуск программы, если она запущена
'    1 - Завершает процесс программы
'    2 - Запускает второй экземпляр, третий, четвёртый....
'    3 - Запускает или завершает
'    4 - Запускает, если процесс не запущен и не запускает, если запущен
'========================   Примеры   =====================================
' "%%WINDIR%%\SYSTEM32\notepad.exe" 3 - вкл\выкл блокнота
' "%%COMMANDER_PATH%%\TOTALCMD.EXE" - перезапуск ТС, если он запущен
'
' Автор:             Аверин Андрей
' Версия:          1.1 (09.11.2011 - 14.01.2012)
' Mail:                 Averin-And@yandex.ru
' Site:                  http://tc-image.3dn.ru
'=======================================================================
Count = 0 : Title = "Запуск\Остановка\Перезапуск программы"
With WScript
   Cnt = .Arguments.Count
   If Cnt > 0 Then
     Program = .Arguments(0)
     If Cnt > 1 Then Count = .Arguments(1)
   Else
     MsgBox "Не хватает параметров!" & vbNewLine &_
     "Должен быть минимум ОДИН параметра" & vbNewLine &_
     "Полный путь к программе", vbOKOnly & vbInformation, Title
     .Quit
   End If
End With

With CreateObject("Scripting.FileSystemObject")
   If Not .FileExists(CreateObject("WScript.Shell").ExpandEnvironmentStrings(Program))Then
     MsgBox "Указанная программа не обнаружена", vbOKOnly & vbInformation, Title
     WScript.Quit
   End If
   Name = .GetFileName(Program)
End With

If Count <> 2 Then
   For Each Proc In GetObject("winmgmts:").ExecQuery("SELECT * FROM Win32_Process")
    If LCase(Proc.Name) = LCase(Name) Then
      If Count <> 4 Then Proc.Terminate
      cEnd = 1 : Exit For
    End If
   Next
End If

Select Case Count
   Case 0 If cEnd = 1 Then ProgramRun
   Case 2 ProgramRun
   Case 3 If cEnd = 0 Then ProgramRun
   Case 4 If cEnd = 0 Then ProgramRun
End Select

Sub ProgramRun : CreateObject("WScript.Shell").Exec(Program) : WScript.Quit : End Sub


Читайте: Справочные материалы по работе c TC + Онлайн справка TC
Награды: 16 Сборщик Total Commander Image! За 100 Сообщений!За 200 Сообщений!!!За 300 Сообщений!!!За 400 Сообщений!!!
Пользователь из города: Сочи, Хоста
Andrey_AДата: Среда, 09.11.2011, 21:30 | Сообщение # 92
Сборщик TC Image
Зареген: 04.08.2011
Всего сообщений: 431
Включение\Выключение внутренних ассоциации в Total Commander
Используется TCMCWindow.exe - файл можете скачать в шапке темы

Code
' YesNoAssociations.vbs
'========================   Описание   =====================================
' Включение\Выключение внутренних ассоциации в Total Commander
' Автор:             Аверин Андрей
' Версия:          1.0 (09.11.2011)
' Mail:                 Averin-And@yandex.ru
' Site:                  http://tc-image.3dn.ru
'====================   Изменяемые пути   ===================================
Ass = "%COMMANDER_PATH%\WinAssociations.ini" ' файл, где прописаны ассоциации
Exe = "%COMMANDER_PATH%\Utilities\TotalCom\TCMC\TCMCWindow.exe" ' утилита
'========================================================================
S1 = "[+Associations]" : S2 = "[Associations]"  
Ass = CreateObject("WScript.Shell").ExpandEnvironmentStrings(Ass)  
Txt = CreateObject("Scripting.FileSystemObject").OpenTextFile(Ass).ReadAll  
If InStr(Txt, S1) > 0 Then Txt = Replace(Txt, S1, S2) Else Txt = Replace(Txt, S2, S1) End If  
CreateObject("Scripting.FileSystemObject").OpenTextFile(Ass, 2).Write Txt  
CreateObject("WScript.Shell").Exec(Chr(34) & Exe & Chr(34) & " ttcmc=CM519 pause=40 {ENTER}")  
WScript.Quit


Читайте: Справочные материалы по работе c TC + Онлайн справка TC
Награды: 16 Сборщик Total Commander Image! За 100 Сообщений!За 200 Сообщений!!!За 300 Сообщений!!!За 400 Сообщений!!!
Пользователь из города: Сочи, Хоста
Andrey_AДата: Четверг, 10.11.2011, 13:22 | Сообщение # 93
Сборщик TC Image
Зареген: 04.08.2011
Всего сообщений: 431
Конвертирование ВЫДЕЛЕННЫХ файлов OpenOffice в текстовый формат
Скачать плагин TextSearch с библиотеками

Code
' 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


Читайте: Справочные материалы по работе c TC + Онлайн справка TC
Награды: 16 Сборщик Total Commander Image! За 100 Сообщений!За 200 Сообщений!!!За 300 Сообщений!!!За 400 Сообщений!!!
Пользователь из города: Сочи, Хоста
Andrey_AДата: Четверг, 10.11.2011, 16:37 | Сообщение # 94
Сборщик TC Image
Зареген: 04.08.2011
Всего сообщений: 431
Выделить нужное к-во папок и файлов в активной панели
Используется NirCmd.exe и TCMC.exe - файлы можете скачать в шапке темы

Code
' MarkerN.vbs
'========================   Описание   ==========================
' Выделить нужное количество папок и файлов в активной панели
' Выделяет так же в окне после поиска и при cm_DirBranch
'========================  Параметры ==========================
' 1-й параметр: Условия выделения. Может принимать значения:
'    1 - Выделение СВЕРХУ вниз
'    2 - Выделение СНИЗУ вверх
'    3 - Выделение от курсора ВНИЗ
'    4 - Выделение от курсора ВВЕРХ
' 2-й параметр: КОЛИЧЕСТВО выделяемых файлов
'========================   Примеры   ==========================
' без параметров - условия вводятся в диалоге
' 1 10
' 2 50
' 3 100
' 4 80
'
' Автор:             Аверин Андрей
' Версия:          1.8 (02.11.2010 - 20.11.2011)
' Mail:                 Averin-And@yandex.ru
' Site:                  http://tc-image.3dn.ru
'========================  Изменяемые пути  ====================
Program = "%COMMANDER_PATH%\NirCmd.exe"
MZList = "%COMMANDER_PATH%\Files\Lists\MarkerList\MarkerList.txt" ' любой файл для записи выделения
TCMC = "%COMMANDER_PATH%\Utilities\TotalCom\TCMC\TCMC.exe"
'=============================================================
Titles = "Выделение Файлов и Папок "
With WScript
   Cnt = WScript.Arguments.Count
   If Cnt < 1 Then
     Num = InputBox("Введите параметр (ЧИСЛО) нужного Вам выделения:" & vbNewLine &_
       "{1} - Выделение СВЕРХУ вниз" & vbNewLine & "{2} - Выделение СНИЗУ вверх" &_
       vbNewLine & "{3} - Выделение от курсора ВНИЗ" & vbNewLine &_
       "{4} - Выделение от курсора ВВЕРХ", Titles, 1)
   Else
     Num = .Arguments(0)
   End If
   If Len(CStr(Num)) = 0 Or Num < 1 Or  Num > 5 Then .Quit
   If Cnt < 2 Then
     N = InputBox("Введите КОЛИЧЕСТВО выделяемых файлов и папок" , Titles, 10)
   Else
     N = .Arguments(1)
   End If
   If Len(N) = 0 Then .Quit
End With

Dim WSH
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = WScript.CreateObject("WScript.Shell")

Select Case Num
   Case 1 RunTCMC("CM523")
   Case 2 CntrStr = 1 : RunTCMC("CM523")
   Case 3 WSH.SendKeys "+{END}"
   Case 4 CntrStr = 1 : WSH.SendKeys "+{HOME}"
End Select

WScript.Sleep 200 : RunTCMC("CM2018") : WScript.Sleep 200
Clip = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")
Data = Split(Clip, vbNewLine)

If UBound(Data) < 3 Then WsEnd
For i = 0 To N - 1
   If CntrStr = 0 Then
     M = i
   Else
     M = UBound(Data) - i
   End if
   TextZ = TextZ & Data(M) & vbNewLine
    If i = UBound(Data) Then Exit For
Next

RunTCMC("CM2029")
gPath = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")
If Len(gPath) > 0 Then
   gPath = gPath & "\" : TextZ = Replace(TextZ, gPath , "", 1, -1, 1)
End If
Program = GetPath(Program) : MZList = GetPath(MZList)
FSO.CreateTextFile(MZList, True).Write(TextZ)
WSH.Run Chr(34) & Program & Chr(34) & Chr(32) & "clipboard readfile " & Chr(34) & MZList & Chr(34), 2, True

WScript.Sleep 200 : RunTCMC("CM2033") : WScript.Sleep 200
Select Case Num
   Case 1,3 RunTCMC("CM2054")
   Case 2,4 RunTCMC("CM2053")
End Select
WsEnd

Sub MsError
   MsgBox "Введены не правильные параметры" , vbOKOnly & vbInformation, Titles : Wscript.Quit
End Sub

Function GetPath(pPath) : GetPath = WSH.ExpandEnvironmentStrings(pPath) : End Function
Sub WsEnd : Set WSH = Nothing : Set FSO = Nothing : WScript.Quit : End Sub
Sub RunTCMC(Param) : WSH.Exec(Chr(34) & TCMC & Chr(34) & Chr(32) & Chr(34) & Param & Chr(34)) : End Sub


Читайте: Справочные материалы по работе c TC + Онлайн справка TC
Награды: 16 Сборщик Total Commander Image! За 100 Сообщений!За 200 Сообщений!!!За 300 Сообщений!!!За 400 Сообщений!!!
Пользователь из города: Сочи, Хоста
PRVVNДата: Пятница, 11.11.2011, 20:54 | Сообщение # 95
Рядовой
Зареген: 08.11.2011
Всего сообщений: 2
Andrey_A, за тему спасибо, есть за что зацепиться. В TotalCmd уже с год пользуюсь скриптом
для симметричного открытия папок флеш - винт, но написал его на AutoIt'е. Здесь у Вас
задействованы - .vbs, может мой не в тему. Если интересно могу выложить, вдруг кому пригодится.
Награды: 1
Пользователь из города: Курск
Andrey_AДата: Пятница, 11.11.2011, 21:09 | Сообщение # 96
Сборщик TC Image
Зареген: 04.08.2011
Всего сообщений: 431
PRVVN,Я организовал её потому, стал переписывать свои скрипты, но даже "хорошо" написанный скрипт\программа должна пройти испытание\тестирование в разных условиях, не всегда есть возможность это сделать самому.
Это тема для всех, каждый может выложить скрипт на любом языке, главное, чтобы он относился как-то к Total Commander'y, можно было им воспользоваться и к нему было должное описание к применению.

Quote (PRVVN)
Если интересно могу выложить, вдруг кому пригодится

Конечно выкладывай!


Читайте: Справочные материалы по работе c TC + Онлайн справка TC
Награды: 16 Сборщик Total Commander Image! За 100 Сообщений!За 200 Сообщений!!!За 300 Сообщений!!!За 400 Сообщений!!!
Пользователь из города: Сочи, Хоста
PRVVNДата: Пятница, 11.11.2011, 21:51 | Сообщение # 97
Рядовой
Зареген: 08.11.2011
Всего сообщений: 2
Имеются 2 флешки, 8 Gbt с информацией из Internet по месяцам и 32 Gbt с данными.
Структура данных, на флешке симметрична с винтом, но на флешке добавлена буква раздела винта, пример:
винт - E:\Inst_My\Scripts\AutoIt\Month-tab\
флеш - E\Inst_My\Scripts\AutoIt\Month-tab\
Открытия папок флеш - винт. Проверка наличия флешки. Считывание пути под курсором.
Открытие в панелях: флеш всегда левая, винт правая.
Code

;Имя файла скрипта: Any_Drive_All.au3
;======================== Описание =====================================
;Симметричное открытие папок флеш <> винт. Для данных - Transcend 32, для папок
;Мои_док01-12 - Transcend 8. Определение флешек по наличию файла, лежащего
;в корне: у Transcend 32 - Transcend 32.txt, у Transcend 8 - Transcend 8.txt
;Флешка всегда открывается в левой панели, а винт в правой. Структура данных,
;сохраненных на флешке симметрична с винтом, но на флешке добавлена буква раздела винта, пример:
;винт - E:\Inst_My\Scripts\AutoIt\Month-tab\
;флеш - E\Inst_My\Scripts\AutoIt\Month-tab\
;======================== О скрипте ===================================
; Автор: PRV (Владимир Пробенков)
; Версия: 3.0 (18.11.2011)
; Mail: prvlad@bmail.ru
;Изменения в версии:
;Определение окна TCmd по классу - CLASS:TTOTAL_CMD
;Определение пути запуска TCmd через запущенный процесс - 'TOTALCMD.EXE'
;======================================================================
;---------Назначение глобальных скрипта
Global $Title = '[CLASS:TTOTAL_CMD]', $Title2 = '', $file8 = 'Transcend 8.txt', $file32 = 'Transcend 32.txt'
;---------Назначение общих функций AutoIt
AutoItSetOption('WinSearchChildren', 1)    ;Активируем просмотр при поиске окон верхнего уровня и их потомков.
AutoItSetOption('WinTitleMatchMode', 4)    ;Способ сопоставления образца с заголовком окна при поиске (пользовательский режим).
;---------
If WinExists(@ScriptName) Then Exit    ;Предотвратить множественный запуск одного и того же скрипта
AutoItWinSetTitle(@ScriptName)
;*****************************вставка для теста
;Взаимозависимость процесса и командной строки
$CommandString='TOTALCMD.EXE' ; процесс активированный Total Commander'ом
$objService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2") ; Задаём параметры объекта
$colProc = $objService.ExecQuery("SELECT * FROM Win32_Process WHERE CommandLine LIKE '%" & $CommandString & "%'") ; Цикл по элементам объекта-коллекции
For $Proc In $colProc
$result_f = $Proc.CommandLine ;Msgbox(0, "Обнаружен процесс" , $result_f) ; 1-е - запущенный процесс 2-е - ком.строка, его запустившая
$len = StringLen($Proc.CommandLine) ;Возвращает общее количество знаков строки
$result_g = StringInStr($result_f, $CommandString) ;Ищу вхождение TOTALCMD.EXE в строку (кол-во знаков слева до TOTALCMD.EXE)
$len_t = StringLen($CommandString) ;Возвращает общее количество знаков в имени TOTALCMD.EXE
$result_k = $result_g + $len_t ;К кол-ву знаков слева прибавляю кол-во знаков в имени экзешника - TOTALCMD.EXE
$res_vich = $len - $result_k ;Возвращает количество знаков до конца строки после TOTALCMD.EXE
$res_right1 = StringTrimRight($result_f, $res_vich) ;Удалить строку до конца после TOTALCMD.EXE
$Pa6=$res_right1 ;Полный путь до TOTALCMD.EXE включительно

Next

If WinActive($Title) = 0 Then
MsgBox(0, 'Gen_01 | Внимание!', 'Активированный Total Commander отсутствует', 10)
Exit
EndIf

Send ('{HOME}') ;гарантия установки курсора на верх.пустую строку папки
Send('+{F6}');Shift+F6 - автивирую строку текущего каталога
Sleep(50) ;для четкого срабатывания не < 50 sec.
Send("^{INS}", 0 ) ;копирую полный путь в буфер - в конце слэш!
;===========================
;=========================== Gen - Transcend 8 & Transcend 32
;---------Общий и для 8 и для 32 Gbt - Из буфера путь поместить в переменную
$Gen = ClipGet()
$Gen_01 = $Gen
$Gen_result_v = StringInStr($Gen_01, ":\Мои_док-") ;D:\Moи_дoк-06\ винчестер (вхождение слева - 2)
$Gen_result_f = StringInStr($Gen_01, "D\Мои_док-") ;H:\D\Moи_дoк-06\ флешка (вхождение слева - 4)
If $Gen_result_v = 2 OR $Gen_result_f = 4 Then ;есть вхождение в путь "Мои_док-" винт или флешка все равно должна определяться буква флешки

;===========================
;=========================== T8_MD - Transcend 8 "Мои_док-"
;---------Поиск флэшки по наличию файла Transcend 8.txt в ее корне
$TagFile = $file8
$i = 67
If not @error Then
While FileExists( Chr($i) & ":\" & $TagFile ) = 0 AND $i<=90
$i = $i + 1
WEnd
$drive = Chr($i) & ":" ;имею подключенный флеш Transcend 8 с буквой - H:
$drive_v = Chr($i) & ":" ;подключенный флеш - H:
$drive_f = Chr($i) & ":\" ;подключенный флеш - H:\
If $drive <> '[:' Then ;при отсутствии Flash выкидывает '[:' и сообщает об ошибке
If $Gen_result_v = 2 Then ;D:\Moи_дoк-05\ 2-я позиция : - винчестер
;---------Редактирую путь
$T8_MD_01 = $Gen_01 ;получаю путь без кавычек - D:\Moи_дoк-10\
$T8_MD_02 ='"'&$T8_MD_01&'"' ;обношу двумя кавычками, имею - "D:\Moи_дoк-10\"
$T8_MD_03 = $Gen_01
$T8_MD_04 = StringReplace($T8_MD_03, ":", "") ;удаляю ":" в пути, имею - D\Moи_дoк-10\
$T8_MD_05 = $drive_f&$T8_MD_04 ;формирую путь к флешке, добавив в начало H:, имею - H:\D\Moи_дoк-10\
$T8_MD_06 ='"'&$T8_MD_05&'"' ;обношу кавычками "H:\D\d\Moи_дoк-10\"
;---------Переоткрываю в Total Commander в заданных панелях
;FileChangeDir(@ProgramFilesDir &"\Total Commander\" )
Run($Pa6&" /O /L="&$T8_MD_06&" /R="&$T8_MD_02)
Sleep(250) ;=>150 - возможно увеличение времени при неуверенном открытии папки в противоположн. панели
Send("{ESC}") ; убрать из строки текущего каталога
Exit
EndIf
If $Gen_result_f = 4 Then ;H:\D\Moи_дoк-06\ флешка
;---------Редактирую путь
$T8_MD_11 = $Gen_01 ;получаю путь без кавычек H:\D\Moи_дoк-10\
$T8_MD_12 ='"'&$T8_MD_11&'"' ;обношу двумя кавычками "H:\D\Moи_дoк-10\"
$T8_MD_13 = StringTrimLeft($T8_MD_12, 5) ;удаляю 5 знаков с начала, имею - \Moи_дoк-10\"
$T8_MD_14 = "D:"&$T8_MD_13 ;добавляю в начало D: имею - D:\Moи_дoк-10\"
$T8_MD_15 ='"'&$T8_MD_14&'"' ;обношу двумя кавычками, имею - "D:\Moи_дoк-10\"
;---------Переоткрываю в Total Commander в заданных панелях
;FileChangeDir(@ProgramFilesDir &"\Total Commander\" )
Run($Pa6&" /O /L="&$T8_MD_12&" /R="&$T8_MD_15)
Sleep(250) ;=>150 - возможно увеличение времени при неуверенном открытии папки в противоположн. панели
Send("{ESC}") ; убрать из строки текущего каталога
Exit
EndIf
Exit
EndIf
MsgBox(0, "ERROR | Flash 8", "Не могу определить флешку. Transcend 8 не подключена!")
Exit
EndIf
MsgBox(0, "83 | Flash 8", "Не нахожу подключенной флешки 8 Gbt!")
Exit
EndIf
;MsgBox(0, "ERROR | Flash 8", "Под курсором нет в пути ""\Мои_док-""" ) ;нету вхождения в полный путь "Мои_док-"
;Exit

;===========================
;=========================== T32_MD - Transcend 32 C\D\E\F\G\H\ что характеризует - H:\E\Inst_My у винта - E:\Inst_My\R02
;---------Поиск флэшки по наличию файла Transcend 32.txt в ее корне
$TagFile = $file32
$i = 67
If not @error Then
While FileExists( Chr($i) & ":\" & $TagFile ) = 0 AND $i<=90
$i = $i + 1
WEnd
$drive = Chr($i) & ":" ;имею подключенный флеш Transcend 32 с буквой - K:
$drive_v_da = Chr($i) & ":\" ;подключенный флеш - K:\
$drive_f_da = Chr($i) & ":" ;подключенный флеш - K:
If $drive <> '[:' Then ;при отсутствии Flash выкидывает '[:' и сообщает об ошибке
$result_f = StringInStr($Gen_01, $drive_v_da) ;ищу вхождение подстроки "H:\" $drive_v_da в полный путь
If $result_f = 1 Then
;---------Редактирую путь
$T32_MD_01 = $Gen_01 ;K:\E\Inst_My\
$T32_MD_02 ='"'&$T32_MD_01&'"' ;обношу двумя кавычками, имею - "K:\E\Inst_My\"
$T32_MD_03 = StringTrimLeft($T32_MD_01, 3);удаляю 3 символа начала, имею - E\Inst_My\
$T32_MD_04 = StringReplace($T32_MD_03, "\", ":\", 1) ;меняю "\" в пути на "\:" 1 раз, имею - E:\Inst_My\
$T32_MD_05 ='"'&$T32_MD_04&'"' ;обношу двумя кавычками, имею - "E:\Inst_My\"
;---------Переоткрываю в Total Commander в заданных панелях
;FileChangeDir(@ProgramFilesDir &"\Total Commander\" )
Run($Pa6&" /O /L="&$T32_MD_02&" /R="&$T32_MD_05)
Sleep(250) ;=>150 - возможно увеличение времени при неуверенном открытии папки в противоположн. панели
Send("{ESC}") ; убрать из строки текущего каталога
Exit
EndIf ;
$result77 = StringInStr($Gen_01, $drive_v_da) ;ищу вхождение подстроки "E:\" в полный путь
If $result_f = 0 Then ;"K:\" $drive_v_da Transcend 32
;---------Редактирую путь
$T32_MD_10 = $Gen_01 ;курсор стоял на винте, имею - E:\Inst_My\
$T32_MD_11 ='"'&$T32_MD_10&'"' ;обношу двумя кавычками имею - "E:\Inst_My\"
$T32_MD_12 = StringReplace($T32_MD_10, ":", "", 1) ; удалить ":" в пути, имею - E\Inst_My\
$T32_MD_13 = $drive_v_da&$T32_MD_12 ;добавляю букву флешки, имею - K:\E\Inst_My\
$T32_MD_14 ='"'&$T32_MD_13&'"' ;обношу двумя кавычками, имею - "K:\E\Inst_My\"
;---------Переоткрываю в Total Commander в заданных панелях
;FileChangeDir(@ProgramFilesDir &"\Total Commander\" )
Run($Pa6&" /O /L="&$T32_MD_14&" /R="&$T32_MD_11) ;Рабочий
Sleep(250) ;=>150 - возможно увеличение времени при неуверенном открытии папки в противоположн. панели
Send("{ESC}") ; убрать из строки текущего каталога

Exit
EndIf ;
Exit
EndIf ;
MsgBox(0, "ERROR | Flash 32", "Не могу определить флешку. Transcend 32 не подключена!")
Exit

EndIf ;
MsgBox(0, "83 | Flash 32", "Не нахожу подключенной флешки 32 Gbt!")
Exit

;EndIf ;при False приходит от - If $Gen_result_v = 2 OR $Gen_result_f = 4 Then
MsgBox(0, "ERROR | Flash 32", "Под курсором нет в пути ""\Мои_док-""" ) ;нету вхождения в полный путь "Мои_док-"
Exit

;===========================
;===========================


Сообщение отредактировал PRVVN - Пятница, 18.11.2011, 11:58
Награды: 1
Пользователь из города: Курск
Andrey_AДата: Суббота, 12.11.2011, 01:21 | Сообщение # 98
Сборщик TC Image
Зареген: 04.08.2011
Всего сообщений: 431
Выделяет папки\файлы по количеству символов в именах, которое задаётся условием
Используется NirCmd.exe и TCMC.exe - файлы можете скачать в шапке темы

Code
' MarkerNamesSymN.vbs
'========================   Описание   =======================================
' Выделяет папки\файлы по количеству символов в именах, которое задаётся условием
' Выделяет так же в окне после поиска и при cm_DirBranch
'========================  Параметры =======================================
' 1-й параметр: Условия поиска для выделения. Может принимать значения:
'    "0"    - условия вводятся в диалоге
'    "=N" - выделяет файлы\папки, в именах которых N символов
'    "<N" - выделяет файлы\папки, в именах которых меньше N символов
'    ">N" - выделяет файлы\папки, в именах которых больше N символов
' 2-й параметр: %L
'========================    Примеры    ======================================
' без параметров - выделяет все имена в текущей панели, в которых встречается условие, введённое в диалоге
' "<5"        - выделяет все имена в текущей панели, в которых меньше 5 символов
' "0" %L   - выделяет все имена в выделенном, в которых встречается условие, введённое в в диалоге
' "=6" %L - выделяет все имена в выделенном, в которых 6 символов
'
' Автор:             Аверин Андрей
' Версия:          1.3 (17.12.2010 - 20.11.2011)
' Mail:                 Averin-And@yandex.ru
' Site:                  http://tc-image.3dn.ru

Dim FSO, WSH, zText, Stroka, i, gPath, Data
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = WScript.CreateObject("WScript.Shell")
'========================  Изменяемые пути  =================================
Program = "%COMMANDER_PATH%\NirCmd.exe"
MzList = "%COMMANDER_PATH%\Files\Lists\MarkerList\MarkerList.txt"' любой файл для записи выделения
TCMC = "%COMMANDER_PATH%\Utilities\TotalCom\TCMC\TCMC.exe"
'==========================================================================
Title = "Выделение файлов и папок по к-ву символов"
With WScript
   Cnt = .Arguments.Count
   If Cnt > 0 Then
     Stroka = .Arguments(0)
     If Stroka = "0" Then MsBoxx
   Else
     MsBoxx
   End If
   If Cnt > 1 Then
     FF = FSO.OpenTextFile(.Arguments(1), 1).ReadAll
   Else
     RunTCMC("CM523") : .Sleep 200
     RunTCMC("CM2018") : .Sleep 200
     FF = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")
     WSH.SendKeys "{HOME}"
   End If
End With

Sym = Mid(Stroka, 1, 1)
Num = CInt(Replace(Stroka, Sym, ""))
Data = Split(FF, vbNewLine)

If UBound(Data) < 2 Then WsEnd
RunTCMC("CM2029")
gPath = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")
For i = 0 To UBound(Data)
   Name = FSO.GetBaseName(Data(i)) : ln = Len(Name)
  Select Case Sym
    Case "="
      if ln = Num Then TextW
    Case ">"
      if ln > Num Then TextW
    Case "<"
      if ln < Num Then TextW
    Case Else
      WSH.Popup "Введено неправильное условие для выделения" & vbNewLine &_
       "Повторите заново!", 2, Title, 64
       WsEnd
  End Select
Next

If Len(zText) = 0 Then
   RunTCMC("CM524")
   WSH.Popup "Имён с длиной " & Stroka & " не найдено", 2, Title, 64
   WsEnd
End If

Program = GetPath(Program) : MzList = GetPath(MzList)
FSO.CreateTextFile(MzList, True).Write(zText)
WSH.Run Chr(34) & Program & Chr(34) & Chr(32) & "clipboard readfile " & Chr(34) & MzList & Chr(34) ,2,True
WScript.Sleep 200 : RunTCMC("CM2033") : WScript.Sleep 200 : RunTCMC("CM2053")

Sub MsBoxx
   Stroka = InputBox("Введите Условие поиска по к-ву символов в" & vbNewLine &_
   "именах файлов для дальнейшего выделения" & vbNewLine &_
   "Может быть 3 условия, Примеры:" & vbNewLine &_
   "=5  выделяются имена, в которых 5 символов" & vbNewLine &_
   "<5  выделяются имена, меньше 5 символов" & vbNewLine &_
   ">5  выделяются имена, больше 5 символов" , Title, "=8")
   if Len(Stroka) = 0 Then
     WSH.Popup "Не введены условия для выделения!" & vbNewLine &_
     "Повторите заново!", 2, Title, 64
     WsEnd
   End If
   WScript.Sleep 100
End Sub

Sub TextW
   If Len(gPath) > 0 Then
     gPath = gPath & "\"
     Data(i) = Replace(Data(i), gPath , "", 1, -1, 1)
   End If
   zText = zText & Data(i) & vbNewLine
End Sub

Sub RunTCMC(Param) : WSH.Exec(Chr(34) & TCMC & Chr(34) & Chr(32) & Chr(34) & Param & Chr(34)) : End Sub
Sub WsEnd : Set WSH = Nothing : Set FSO = Nothing : WScript.Quit : End Sub
Function GetPath(pPath) : GetPath = WSH.ExpandEnvironmentStrings(pPath) : End Function


Читайте: Справочные материалы по работе c TC + Онлайн справка TC
Награды: 16 Сборщик Total Commander Image! За 100 Сообщений!За 200 Сообщений!!!За 300 Сообщений!!!За 400 Сообщений!!!
Пользователь из города: Сочи, Хоста
Andrey_AДата: Суббота, 12.11.2011, 02:11 | Сообщение # 99
Сборщик TC Image
Зареген: 04.08.2011
Всего сообщений: 431
Загрузить выделение из файла MarkerList.txt
Используется NirCmd.exe и TCMC.exe - файлы можете скачать в шапке темы

Code
' RestoreSelection.vbs
'========================   Описание   ========================
' Загрузить выделение из файла
'=======================   Параметры  ========================
' Файл с ранее сохранённым выделением
' "%%COMMANDER_PATH%%\Files\Lists\MarkerList\MarkerList.txt"

' Автор:             Аверин Андрей
' Версия:          1.2 (2010 - 12.11.2011)
' Mail:                 Averin-And@yandex.ru
' Site:                  http://tc-image.3dn.ru
'========================  Изменяемые пути  ==================
Program = "%COMMANDER_PATH%\NirCmd.exe"
TCMC = "%COMMANDER_PATH%\Utilities\TotalCom\TCMC\TCMC.exe"
'===========================================================
If WScript.Arguments.Count > 0 Then
   MzList = WScript.Arguments(0)
Else
   MsgBox "Не хватает параметров!" & vbNewLine &_
   "Должен быть минимум ОДИН параметр ''Путь\к\файлу.txt''" , vbOKOnly &_
   vbInformation, "Загрузить выделение из файла"
End If
Program = GetPath(Program) : MzList = GetPath(MzList)
If Not CreateObject("Scripting.FileSystemObject").FileExists(MzList) Then WScript.Quit
With CreateObject("WScript.Shell")
   .Run Chr(34) & Program & Chr(34) & Chr(32) & "clipboard readfile " & Chr(34) & MzList & Chr(34) , 2, True
   .Exec(Chr(34) & TCMC & Chr(34) & Chr(32) & Chr(34) & "CM2033" & Chr(34))
End With
WScript.Quit
Function GetPath(pPath) : GetPath = CreateObject("WScript.Shell").ExpandEnvironmentStrings(pPath) : End Function


Читайте: Справочные материалы по работе c TC + Онлайн справка TC
Награды: 16 Сборщик Total Commander Image! За 100 Сообщений!За 200 Сообщений!!!За 300 Сообщений!!!За 400 Сообщений!!!
Пользователь из города: Сочи, Хоста
Andrey_AДата: Суббота, 12.11.2011, 04:40 | Сообщение # 100
Сборщик TC Image
Зареген: 04.08.2011
Всего сообщений: 431
Сохранение выделенного в файл с дополнительными условиями
Так же есть возможность отправлять преобразованное выделение в буфер

Используется TCMC.exe и NirCmd.exe - файлы можете скачать в шапке темы

Code
' SaveSelection.vbs
'========================   Описание   ====================================
' Сохранение выделенного в файл с дополнительными условиями в два файла:
' - один файл для дальнейшей загрузки выделения MakerList.txt
' - другой с полными путями  MarkerPathList.txt
' Так же есть возможность отправлять преобразованное выделение в буфер обмена
'========================  Параметры ====================================
' 1-й параметр: %L (обязательный)
' 2-й параметр: К-во подряд выделяемых элементов
' 3-й параметр: К-во пропущенных элементов после выделения
' 4-й параметр: Любой, означает, что выделение будет + отправлено в буфер
'========================    Примеры    ====================================
' %L        - сохранение выделения в файл
' %L 1 1 - сохраняет выделение через одну строчку, что позволит загрузить выделение зеброй
' %L 1 5 - сохраняет выделение каждого пятого файла
' %L 2 3 - сохраняет выделение 2 через 3
' %L 0 0 1 - отправить выделение в буфер
' %L 1 1 1 - отправить выделение через одну строчку в буфер
' Автор:             Аверин Андрей
' Версия:          1.8 (2010 - 22.11.2011)
' Mail:                 Averin-And@yandex.ru
' Site:                  http://tc-image.3dn.ru
'========================  Изменяемые пути  ===============================
Program = "%COMMANDER_PATH%\NirCmd.exe"
TCMC = "%COMMANDER_PATH%\Utilities\TotalCom\TCMC\TCMC.exe"
MarkerList = "%COMMANDER_PATH%\Files\Lists\MarkerList\MarkerList.txt" ' любой файл для записи выделения
PathList = "%COMMANDER_PATH%\Files\Lists\MarkerList\MarkerPathList.txt" ' любой файл для записи путей
'======================================================================
Count = WScript.Arguments.Count
If Count < 1 Then
   MsgBox "Не хватает параметров!" & vbNewLine &_
   "Должен быть минимум ОДИН параметр:   %L" , vbOKOnly &_
   vbInformation, "Сохранение выделенного в файл"
   Wscript.Quit
End If

Dim FSO, WSH
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = WScript.CreateObject("WScript.Shell")

TextPath = FSO.OpenTextFile(WScript.Arguments(0), 1).ReadAll
RunTCMC("CM2029")
gPath = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")
If Len(gPath) > 0 Then
   gPath = gPath & "\"
   TextPath = Replace(TextPath, gPath , "", 1, -1, 1)
End If
TextMarker = TextPath

If Count > 2 Then
  N = CInt(WScript.Arguments(1)) : M = CInt(WScript.Arguments(2))
  If N > 0 Or M > 0 Then
    DataP = Split(TextPath, vbNewLine) :    DataM = Split(TextMarker, vbNewLine)
     If UBound(DataP) > N + 1 Then
       N = N - 1
       For i = 0 To UBound(DataP) Step N + M + 1
         On Error Resume Next
         For j = i To i + N
          TextMarkerN = TextMarkerN & DataM(j) & vbNewLine
          TextPathN = TextPathN & DataP(j) & vbNewLine
         Next
       If i > UBound(DataP) Then Exit For
       Next
      TextMarker = TextMarkerN : TextPath =TextPathN
     End if
   End If
End if
MarkerList = GetPath(MarkerList) : PathList = GetPath(PathList)
FSO.CreateTextFile(MarkerList, True).Write(TextMarker) ' Сохраняем выделение в файл
FSO.CreateTextFile(PathList, True).Write(TextPath) ' Сохраняем пути в файл
If Count > 3 Then WSH.Run Chr(34) & Program & Chr(34) & " clipboard readfile " & Chr(34) & MarkerList & Chr(34), 2, True
Set WSH = Nothing : Set FSO = Nothing : WScript.Quit
Function GetPath(pPath) : GetPath = WSH.ExpandEnvironmentStrings(pPath) : End Function
Sub RunTCMC(Param) : WSH.Exec(Chr(34) & TCMC & Chr(34) & Chr(32) & Chr(34) & Param & Chr(34)) : End Sub


Читайте: Справочные материалы по работе c TC + Онлайн справка TC
Награды: 16 Сборщик Total Commander Image! За 100 Сообщений!За 200 Сообщений!!!За 300 Сообщений!!!За 400 Сообщений!!!
Пользователь из города: Сочи, Хоста
Поиск:

Copyright by Grey © 2024 Хостинг от uCoz

Гость