Скрипты для Total Commander
-
Скрипты - уникальный инструмент для достижения различных целей в работе с файлами и не только, особенно в файловом менеджере, даже если вы раньше об этом ничего не слышали и не знали, то путём простых движений вы можете оптимизировать свои действия
Тема тестирования скриптов создана для увеличения функциональности Total Commander
Всё это делается для тех, кто хочет экономить время и автоматизировать работу
Огромное спасибо участникам, авторам и всем повлиявшим на тему
#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#
В этой теме Каждый может выложить свой скрипт, написанный на любом языке: vbs, js, hta, au3,ahk, bat,cmd... - главное, чтобы он относился как-то к Total Commander, можно было им воспользоваться и к нему было должное описание к применению.
#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#
В теме "Тестирование и заказ скриптов" Каждый может протестировать, дать свой комментарий (все комментарии из этой темы будут удаляться)...если есть интересная идея, вы так же можете поделиться ей в соседней теме и заказать скрипт, а вдруг она покажется интересной для авторов...
#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#Сообщение отредактировал LonerD 25 апреля 2017 - 04:38Читайте: Справочные материалы по работе c TC + Онлайн справка TC
22 ноября 2011 - 13:03 / #1 -
ReplaceInTextFilesFromFileList.vbs
Поиск и замена в выделенных текстовых файлах из файл списка поиска и замен' ReplaceInTextFilesFromFileList.vbs
'======================== Описание =====================================
' Поиск и замена в выделенных текстовых файлах из файл списка поиска и замен
' Синтаксис файл списка поиска и замен:
' ПОИСК=ЗАМЕНА
' 555=888
' 333=777
' и.т.д.
' т.е. во всех текстах файлов будет найдено 555 и заменено на 888, 333 на 777
'======================== Параметры =====================================
' [файл список файлов] [файл список замен]
' %L "%%COMMANDER_PATH%%\ReplaceList.txt"
'
' Автор: Аверин Андрей
' Версия: 1.3 (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 &_
"Должен быть минимум ОДИН параметр %L",_
vbOKOnly & vbInformation, "Поиск и замена в текстах из файл списка "
.Quit
End If
Clip = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")
If Cnt = 1 Then
ListReplac = InputBox("Введите ПОЛНЫЙ\ПУТЬ\до\файл_списка.txt" & vbNewLine &_
" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - " & vbNewLine & "Синтаксис файл списка поиска и замен:" &_
vbNewLine & "ПОИСК=ЗАМЕНА " & vbNewLine & "333=777" & vbNewLine & "Маня=Даня" &_
vbNewLine & "и.т.д.", "Поиск и замена в текстах из файл списка ", Clip)
if Len(ListReplac) = 0 Then .Quit
Else
ListReplac = .Arguments(1)
End if
End With
With CreateObject("Scripting.FileSystemObject")
Set ListFile = .OpenTextFile(WScript.Arguments(0), 1)
ListReplac = CreateObject("WScript.Shell").ExpandEnvironmentStrings(ListReplac)
If Not .FileExists(ListReplac) Then WScript.Quit
Set ListR = .OpenTextFile(ListReplac, 1)
Do While Not ListFile.AtEndOfStream
SelFile = ListFile.ReadLine
On Error Resume Next
Text = .OpenTextFile(SelFile, 1).ReadAll
Do While Not ListR.AtEndOfStream
SetR = ListR.ReadLine
Text = Replace(CStr(Text), Left(SetR, InStr(SetR, "=") - 1), Right(SetR, Len(SetR) - InStr(SetR, "=")), 1, -1, 1)
Loop
.CopyFile SelFile, SelFile & ".bak" ' Закомментируйте если не нужна копия файлов
.CreateTextFile(SelFile, True).Write(Text)
Loop
End With
ListFile.Close : ListR.Close : Set ListFile = Nothing : Set ListR = Nothing : WScript.QuitСообщение отредактировал Andrey_A 11 марта 2012 - 21:04Читайте: Справочные материалы по работе c TC + Онлайн справка TC
23 ноября 2011 - 20:59 / #91 -
ReplaceTextInFiles.au3
Поиск кусков текста и замена; RepleceTextInFiles.au3
; ================ Описание ===========================
; Поиск кусков текста и замена
; =============== Параметры ===========================
; 1-й параметр: %L
; 2-й параметр: Количество полей поиска, если = 0, открывается диалог выбора количества полей
; 3-й параметр: Высота одного поля поиска
; ================ Примеры ===========================
; %L 0 100
; %L 2 100
; Автор: Loopback
; Версия: 1.0 (06.10.2010)
; ======================================================
If $CmdLine[0] < 3 Then
MsgBox (0, "", "Недостаточно параметров, должно быть 3.")
Exit
EndIf
Global $gSrcCount = $CmdLine[2]
Global $gSrcHeight = $CmdLine[3]
Global $gClientHeight = @DesktopHeight - 30
$aTrayPos = WinGetPos("[CLASS:Shell_TrayWnd]")
If Not @error Then $gClientHeight = @DesktopHeight - $aTrayPos[3]
If $gSrcCount = 0 Then
$gBtnCount = 9; Количество кнопок
$nGUIWidth = 6 + $gBtnCount * 24 + $gBtnCount * 5
GUICreate("Выбор числа полей поиска", $nGUIWidth, 34, @DesktopWidth/2 - $nGUIWidth/2, -1)
For $i = 0 To $gBtnCount - 1
GUICtrlCreateButton($i+1, 5 + $i*24 + $i*5, 5, 24, 24)
Next
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
Exit
Case 3 To $gBtnCount + 2
$gSrcCount = $nMsg - 2
If $gClientHeight < $gSrcHeight * $gSrcCount + 140 Then
$gSrcHeight = Int(($gClientHeight - 140) / $gSrcCount)
EndIf
GUIDelete()
ExitLoop
EndSwitch
Wend
EndIf
Global $aList = _TCHLoadFileList($CmdLine[1])
Global $gReplaces = 0, $gMask, $gBackups = False
Global $gSrcEdit[$gSrcCount]
Global Const $GUI_CHECKED = 1
$nGUIHeight = $gSrcHeight * $gSrcCount + 109
$hGUI = GUICreate("Поиск и замена", 563, $nGUIHeight, -1, -1)
GUICtrlCreateLabel("Маска файлов", 8, 6, 78, 17)
$edMask = GUICtrlCreateInput("*.*", 8, 24, 265, 21)
GUICtrlCreateLabel("Текст для поиска", 8, 54, 94, 17)
GUICtrlCreateLabel("Текст для замены", 288, 54, 98, 17)
For $i = 0 To $gSrcCount - 1
$gSrcEdit[$i] = GUICtrlCreateEdit("", 8, 72 + $gSrcHeight * $i, 265, $gSrcHeight)
Next
$edTrg = GUICtrlCreateEdit("", 288, 72, 265, $gSrcHeight * $gSrcCount)
$cbCaseSence = GUICtrlCreateCheckbox("Учитывать регистр", 8, $gSrcHeight * $gSrcCount + 84, 137, 17)
$cbBackups = GUICtrlCreateCheckbox("Создавать резервные копии", 150, $gSrcHeight * $gSrcCount + 84, 170, 17)
$btnOK = GUICtrlCreateButton("OK", 400, $gSrcHeight * $gSrcCount + 79, 75, 25)
$btnCancel = GUICtrlCreateButton("Отмена", 480, $gSrcHeight * $gSrcCount + 79, 75, 25)
Global $AccelTable[1][2] = [["^{ENTER}", $btnOK]]
GUISetAccelerators($AccelTable)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3, $btnCancel
Exit
Case $btnOK
$gMask = _MaskToRegexp(GUICtrlRead($edMask))
$gBackups = BitAND(GUICtrlRead($cbBackups), $GUI_CHECKED)
For $i = 1 To $aList[0]
If StringRight($aList[$i], 1) = "\" Then
_DoFolder($aList[$i])
Else
_DoFile($aList[$i])
EndIf
Next
MsgBox (0, "", "Выполнено замен: " & $gReplaces, 0, $hGUI)
Exit
EndSwitch
WEnd
Func _DoFolder($sFolder)
If $sFolder = "" Then Return
Local $sDirs = ""
Local $hSearch = FileFindFirstFile($sFolder & "*.*")
If @error Then Return
While 1
$sFile = FileFindNextFile($hSearch)
If @error Then ExitLoop
If @extended Then
$sDirs &= $sFolder & $sFile & "\" & @LF
ContinueLoop
EndIf
_DoFile($sFolder & $sFile)
Wend
FileClose($hSearch)
; Обработку каталогов приходится делать отдельно,
; чтобы не оставлять открытый поисковый хэндл,
; их максимально может быть 64
$aDirs = StringSplit($sDirs, @LF)
For $i = 1 To $aDirs[0]
_DoFolder($aDirs[$i])
Next
EndFunc
Func _DoFile($sFile)
If StringRegExp($sFile, $gMask) = 0 Then Return
Local $sText = FileRead($sFile)
Local $sSrc
Local $nReplaces = 0
For $i = 0 To $gSrcCount - 1
$sSrc = GUICtrlRead($gSrcEdit[$i])
If $sSrc = "" Then ContinueLoop
$sText = StringReplace($sText, $sSrc, GUICtrlRead($edTrg), 0, _
BitAND(GUICtrlRead($cbCaseSence), $GUI_CHECKED))
$nReplaces += @extended
Next
If $nReplaces = 0 Then Return
$gReplaces += $nReplaces
If $gBackups Then FileCopy($sFile, $sFile & ".bak", 1); бэкап
Local $hFile = FileOpen($sFile, 2)
FileWrite($hFile, $sText)
FileClose($hFile)
EndFunc
Func _MaskToRegexp($sMask)
$sMask = StringRegExpReplace($sMask, "(\\|\.|\+|\^|\(|\)|\[|\]|\{|\}|\$)", "\\\1")
$sMask = StringReplace($sMask, "?", ".")
$sMask = StringReplace($sMask, "*", ".+?")
Return("(?i)" & $sMask & "$")
EndFunc
Func _TCHLoadFileList($sFileName)
Local $asList[1] = [0]
Local $hfList = FileOpen($sFileName, 0)
While 1
$sLine = FileReadLine($hfList)
If @error Then Exitloop
ReDim $asList[UBound($asList)+1]
$asList[UBound($asList)-1] = $sLine
Wend
FileClose($hfList)
$asList[0] = UBound($asList)-1
Return $asList
EndFuncСообщение отредактировал Andrey_A 11 марта 2012 - 21:08Читайте: Справочные материалы по работе c TC + Онлайн справка TC
23 ноября 2011 - 21:00 / #92 -
SpellChecker_Clipboard.vbs
Орфографическая проверка текста в буфере обменаЧитайте: Справочные материалы по работе c TC + Онлайн справка TC
23 ноября 2011 - 21:01 / #93 -
SpellChecker_PN.vbs
Орфографическая проверка текста файла под курсором' SpellChecker_PN.vbs
'======================== Описание =====================================
' Spell-Checker для файла под курсором. Требует MS Word
' Author: Steve Yandl & Аверин Андрей http://tc-image.3dn.ru
' Date: October 23, 2000 - 06.11.2011
' /////////////////////////////////////////////////////////////////
' Орфографическая проверка текста файла под курсором
' Параметры %P%N
'========================================================================
Dim oWD, RangeOriginal, RangeCorrected, Cnt, Status
Set oWD = WScript.CreateObject("Word.Application")
oWD.Visible = False
If WScript.Arguments.Count = 0 Then
MsgBox "Не хватает параметров! Должен быть Один параметр %P%N",_
vbOKOnly & vbInformation, "Орфографическая проверка текста файла под курсором"
WScript.Quit
End If
oWD.Documents.Open WScript.Arguments(0), False, True
On Error Resume Next
oWD.Selection.WholeStory
If err.number<>0 then
MsgBox "Буфер обмена пуст!"
oWD.ActiveDocument.Close wdDoNotSaveChanges
oWD.Quit
Set oWD=Nothing : Set oWD=Nothing : WScript.Quit
End If
Set RangeOriginal=oWD.ActiveDocument.Range(0,oWD.Selection.End)
If oWD.CheckSpelling(RangeOriginal)=False Then
oWD.ActiveDocument.CheckSpelling
Set RangeCorrected = oWD.ActiveDocument.Range(0,oWD.Selection.End)
RangeCorrected.copy
If RangeCorrected.Words.Count>7 Then
Cnt = RangeCorrected.Words.Count
Status= "Текст, начинающийся с: "&_
RangeCorrected.Words.Item(1) & " "& RangeCorrected.Words.Item(2) &" "&_
RangeCorrected.Words.Item(3) &"....."& vbCRLF & "и заканчивающийся: ....."&_
RangeCorrected.Words.Item(Cnt-2) &" "& RangeCorrected.Words.Item(Cnt-1)&_
" "&RangeCorrected.Words.Item(Cnt)& vbCRLF & "проверен. "&_
"Исправленный текст скопирован в буфер обмена."
Else
Status= "<< "&RangeCorrected&" >>"&vbCRLF&"был проверен."&_
" Исправленный текст скопирован в буфер обмена."
End If
Else
Status= "Проверка завершена. Текст не содержит ошибок."
End If
oWD.ActiveDocument.Close wdDoNotSaveChanges
oWD.Quit : Set oWD=Nothing : MsgBox StatusСообщение отредактировал Andrey_A 11 марта 2012 - 21:09Читайте: Справочные материалы по работе c TC + Онлайн справка TC
23 ноября 2011 - 21:03 / #94 -
SplitByLineTextFile.vbs
Разрезка текстового файла на строки и запись их в файлы
Используется TCMC.exe - файл можете скачать в шапке темы' SplitByLineTextFile.vbs
'=================== Описание ============================
' Разрезка текстового файла на строки и запись их в файлы
'=================== Примеры ============================
' Параметр: путь\к\файлу
' %P%N
' Автор: ? & Аверин Андрей
' Версия: 1.0 (28.04.2011)
' Mail: Averin-And@yandex.ru
' Site: http://tc-image.3dn.ru
'==========================================================
With WScript
If .Arguments.Count = 0 Then
MsgBox "Не хватает параметров!" & vbNewLine & "Должен быть Один параметр %P%N",_
vbOKOnly & vbInformation, "Разрезание текстового файла" : .Quit
End If
InFile = .Arguments(0)
End With
With CreateObject("Scripting.FileSystemObject")
Set ts = .OpenTextFile(InFile,1) : Cnt = 0
Do Until ts.AtEndOfStream
.CreateTextFile(InFile & "." & CStr(Cnt), True).WriteLine(ts.ReadLine) : Cnt = Cnt + 1
Loop
End With
CreateObject("WScript.Shell").Exec("%COMMANDER_PATH%\Utilities\TotalCom\TCMC\TCMC.exe 100 CM540")
ts.Close : Set ts = Nothing : WScript.QuitСообщение отредактировал Andrey_A 11 марта 2012 - 21:09Читайте: Справочные материалы по работе c TC + Онлайн справка TC
23 ноября 2011 - 21:05 / #95 -
SummaTextFiles.vbs
Собирает выделенные текстовые файлы в один
Используется FunctionsPlus.vbs - файл можете скачать в шапке темы' SummaTextFiles.vbs
'======================== Описание =====================================
' Собирает выделенные текстовые файлы в один
'======================= Параметры =====================================
' 1-й параметр: Путь гда создавать общий файл
' 2-й параметр: Список путей файлов
' 3-й параметр: Имя создаваемого файла
' 4-й параметр: Разделитель между содержанием файлов
'======================== Примеры =====================================
' %p %L
' %p %L "All.txt"
' %p %L "All.txt" "========"
' Автор: Аверин Андрей
' Версия: 1.2 (14.09.2011 - 10.03.2012)
' Mail: Averin-And@yandex.ru
' Site: http://tc-image.3dn.ru
'========================================================================
With WScript
Cnt = .Arguments.Count
If Cnt > 1 Then
nFolder = .Arguments(0)
tFile = .Arguments(1)
If Cnt > 2 Then
Name = .Arguments(2)
If Cnt > 3 Then Delim = .Arguments(3)
End If
Else
MsgBox "Не хватает параметров!" & vbNewLine &_
"Должно быть прописано минимум 2 параметра %p %L",_
vbOKOnly & vbInformation, "Объединение файлов"
.Quit
End If
If Len(Name) = 0 Then
Name = InputBox("Введите имя файла", "Объединение файлов", "All.txt")
if Len(Name) = 0 Then .Quit
End If
End With
With CreateObject("Scripting.FileSystemObject")
Set TempFile = .OpenTextFile(tFile, 1)
Do While Not TempFile.AtEndOfStream
On Error Resume Next
.OpenTextFile(nFolder & Name, 8, True).Write .OpenTextFile(TempFile.ReadLine, 1).ReadAll & vbNewLine & Delim & vbNewLine
Loop
End With
TempFile.Close : Set TempFile = Nothing : WScript.QuitСообщение отредактировал Andrey_A 11 марта 2012 - 21:10Читайте: Справочные материалы по работе c TC + Онлайн справка TC
23 ноября 2011 - 21:07 / #96 -
Unpack_b64_mime_uue.vbs
Распаковывает mime, uue, b64 текст из буфера обмена в текущую папку
Используется TCMCWindow.exe - файл можете скачать в шапке темы' Unpack_b64_mime_uue.vbs
'======================== Описание =====================================
' Распаковывает mime, uue, b64 текст из буфера
'======================= Параметры =====================================
' 1-й параметр: куда распаковывать
' 2-й параметр: расширение (xxe, uue, b64)
'======================== Примеры =====================================
' %p "uue" - распаковывает uue текст в текущую папку
' основан на коде (c) 2010, lev
' Автор: Аверин Андрей
' Версия: 1.0 (04.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 < 2 Then
MsgBox "Не хватает параметров! Должно быть ДВА параметра %p ''uue''", _
vbOKOnly & vbInformation,"Распаковывает mime, uue, b64 текст из буфера обмена"
.Quit
End If
Set FSO = CreateObject("Scripting.FileSystemObject")
Ext = LCase(.Arguments(1)) : Name = FSO.GetTempName() & "." & Ext
TempFile = .Arguments(0) & Name
End With
Clip = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")
lClip = LCase(Clip)
If Len(Clip) < 10 Then WsEnd
If (InStr(lClip, "base64") = 0 Or InStr(lClip, "content-transfer-encoding") = 0) And _
(InStr(lClip, "end") = 0 Or InStr(lClip, "sum") = 0 Or InStr(lClip, "-r/size") = 0) Then WsEnd
Clip = RegExpReplace(Clip, "( *)(" & vbNewLine & ")", "$2") ' удаление концевых пробелов
FSO.CreateTextFile(TempFile, True).Write Clip
With CreateObject("WScript.Shell")
.Exec(TCMSW & Chr(32) &_
Chr(34) & "ttcmc=150 CM540" & Chr(34) & Chr(32) &_
Chr(34) & "pause=50" & Chr(34) & Chr(32) &_
Chr(34) & "clpup=" & Name & Chr(34) & Chr(32) &_
Chr(34) & "ttcmc=50 CM540 CM2033" & Chr(34) & Chr(32) &_
Chr(34) & "pause=50" & Chr(34) & Chr(32) &_
Chr(34) & "{DOWN}" & Chr(34) & Chr(32) &_
Chr(34) & "ttcmc=50 CM509" & Chr(34) & Chr(32) &_
Chr(34) & "{BS}" & Chr(34) & Chr(32) &_
Chr(34) & "{ENTER}" & Chr(34) & Chr(32))
WScript.Sleep 2000 : FSO.DeleteFile TempFile
.Exec(TCMSW & Chr(32) & Chr(34) & "ttcmc=50 CM540" & Chr(34))
End With
WsEnd
Function RegExpReplace(pText, pFindStr, pNewStr)
With New RegExp
.Pattern = pFindStr : .IgnoreCase = True : .Global = True
RegExpReplace = .Replace(pText, pNewStr)
End With
End Function
Sub WsEnd : Set FSO = Nothing : WScript.Quit : End SubСообщение отредактировал Andrey_A 11 марта 2012 - 21:10Читайте: Справочные материалы по работе c TC + Онлайн справка TC
23 ноября 2011 - 21:10 / #97 -
Arhive.vbs
Архивирование выделенных файлов и папок с помощью WCX плагинов ТС
Используется TCMCWindow.exe - файл можете скачать в шапке темы
[more="Arhive.vbs"]' Arhive.vbs[/more]
'======================== Описание =====================================
' Архивирование выделенных файлов и папок с помощью WCX плагинов ТС
'======================= Параметры =====================================
' 1-й параметр: путь\куда\архивировать
' 2-й параметр: имя архива
' 3-й параметр: расширение архива
'======================== Примеры =====================================
' %t "%O" "rar"
' Автор: Аверин Андрей
' Версия: 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 < 3 Then
MsgBox "Не хватает параметров! Должно быть ТРИ параметра" &_
vbNewLine & "Пример: %t ''%O'' ''rar''", _
vbOKOnly & vbInformation,"Архивирование выделенных файлов и папок"
.Quit
End If
Path = .Arguments(0) : Name = .Arguments(1) : Arhive = .Arguments(2)
End With
P = LineSym(Path) : N = LineSym(Name)
Lines = "{DEL}" & Arhive & ":" & Chr(34) & P & N & "." & Arhive & Chr(34)
If Arhive = "z" Then Lines = Lines & "{HOME}" & "_"
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:11Читайте: Справочные материалы по работе c TC + Онлайн справка TC
23 ноября 2011 - 21:14 / #98 -
ArhiveCrypt.vbs
Создание зашифрованных архивов выделенных файлов и папок с помощью WCX плагиновТС
Используется TCMCWindow.exe - файл можете скачать в шапке темы' ArhiveCrypt.vbs
'======================== Описание =====================================
' Создание зашифрованных архивов выделенных файлов и папок с помощью WCX плагиновТС
'======================= Параметры =====================================
' 1-й параметр: путь\куда\архивировать
' 2-й параметр: имя архива
' 3-й параметр: расширение архива
'======================== Примеры =====================================
' %t "%O" "rar"
' Автор: Аверин Андрей
' Версия: 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 < 3 Then
MsgBox "Не хватает параметров! Должно быть ТРИ параметра" &_
vbNewLine & "Пример: %t ''%O'' ''rar''", _
vbOKOnly & vbInformation,"Создание самораспаковывающих архивов выделенного"
.Quit
End If
Path = .Arguments(0) : Name = .Arguments(1) : Arhive = .Arguments(2)
End With
P = LineSym(Path) : N = LineSym(Name)
Lines = "{DEL}" & Arhive & ":" & Chr(34) & P & N & "." & Arhive & Chr(34)
If Arhive = "z" Then Lines = Lines & "{HOME}" & "_"
CreateObject("WScript.Shell").Exec(TCMSW & Chr(32) & Chr(34) & "ttcmc=CM508" &_
Chr(34) & Chr(32) & Chr(34) & "pause=100" & Chr(34) & Chr(32) & Lines &_
Chr(32) & Chr(34) & "{TAB 7}" & Chr(34) &_
Chr(32) & Chr(34) & "{SPACE}" & Chr(34) &_
Chr(32) & Chr(34) & "{ENTER}" & Chr(34))
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:11Читайте: Справочные материалы по работе c TC + Онлайн справка TC
23 ноября 2011 - 21:41 / #99 -
ArhiveEXE.vbs
Создание самораспаковывающих архивов выделенных файлов и папок с помощью WCX плагинов ТС
Используется TCMCWindow.exe - файл можете скачать в шапке темы' ArhiveEXE.vbs
'======================== Описание =====================================
' Создание самораспаковывающих архивов выделенных файлов и папок с помощью WCX плагинов ТС
'======================= Параметры =====================================
' 1-й параметр: путь\куда\архивировать
' 2-й параметр: имя архива
' 3-й параметр: расширение архива
'======================== Примеры =====================================
' %t "%O" "rar"
' Автор: Аверин Андрей
' Версия: 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 < 3 Then
MsgBox "Не хватает параметров! Должно быть ТРИ параметра" &_
vbNewLine & "Пример: %t ''%O'' ''rar''", _
vbOKOnly & vbInformation,"Создание самораспаковывающих архивов выделенного"
.Quit
End If
Path = .Arguments(0) : Name = .Arguments(1) : Arhive = .Arguments(2)
End With
P = LineSym(Path) : N = LineSym(Name)
Lines = "{DEL}" & Arhive & ":" & Chr(34) & P & N & "." & Arhive & Chr(34)
If Arhive = "z" Then Lines = Lines & "{HOME}" & "_"
CreateObject("WScript.Shell").Exec(TCMSW & Chr(32) & Chr(34) & "ttcmc=CM508" &_
Chr(34) & Chr(32) & Chr(34) & "pause=100" & Chr(34) & Chr(32) & Lines &_
Chr(32) & Chr(34) & "{TAB 5}" & Chr(34) &_
Chr(32) & Chr(34) & "{SPACE}" & Chr(34) &_
Chr(32) & Chr(34) & "{ENTER}" & Chr(34))
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:42 / #100
Статистика форума, пользователей онлайн: 0 (за последние 30 минут)
---
- Создано тем
- 107
- Всего сообщений
- 4048
- Пользователей
- 99000
- Новый участник
- termojader
Powered by Bullet Energy Forum

