Скрипты для 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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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
Powered by Bullet Energy Forum

