Batya

|
Posted: Mon Jul 28, 2008 14:48 Post subject: |
|
|
LocKtaR-o-DarK
Ну, как говорится, "Хозяин - барин".
Я, правда, не понял о каких масках файлов ты говоришь.
... Вообщем написал vbs-скрипт.
В скрипте используется Script Helper.
Code: | '======================================================================
' Переименование выделенных файлов\папок -
' Добавление в начало имени текста из буфера обмена
' Параметры вызова из TC:
' %L
'======================================================================
Option Explicit
Dim CharArr, RemStrArr
'=== Изменяемые параметры =============================================
'Массив недопустимых символов. Заменяем их указанным ниже символом
CharArr = Array(Chr(10), Chr(13), "\", "/")
'Символ для замены
Const ReplaceChar = " "
'Переходный символ
Const TransChar = "_"
'Массив удаляемых строк
RemStrArr = Array("Спёрто с http://www.site.com/", _
"пишем, что хотим удалить", _
"пишем, что также хотим удалить")
'======================================================================
Dim Mess, FSO, FileList, TCS, Clip, Char, F, FF
SetMess
Set FSO = CreateObject("Scripting.FileSystemObject")
CheckParam
For Each F In Split(FSO.OpenTextFile(FileList, 1, False).ReadAll, vbNewLine)
F = Trim(F)
If F <> "" Then
If FSO.FileExists(F) Then
Set FF = FSO.GetFile(F)
End If
If FSO.FileExists(F) Then
Set FF = FSO.GetFile(F)
End If
If FSO.FolderExists(F) Then
Set FF = FSO.GetFolder(F)
End If
FF.Name = Clip & TransChar & FF.Name
End If
Set FF = Nothing
Next
Quit
Sub CheckParam
If WScript.Arguments.Count = 0 Then
MessBox Mess(1), 1
Quit
End If
FileList = WScript.Arguments(0)
If Not FSO.FileExists(FileList) Then
MessBox Mess(2), 1
Quit
End If
On Error Resume Next
Set TCS = CreateObject("TCScript.Helper")
If Err.Number > 0 Then
MessBox Mess(3), 1
Quit
End If
On Error GoTo 0
Clip = TCS.GetTextFromClip
If Clip = "" Then
MessBox Mess(4), 1
Quit
End If
For Each Char In RemStrArr
Clip = Replace(Clip, Char, "")
Next
For Each Char In CharArr
Clip = Replace(Clip, Char, ReplaceChar)
Next
Clip = Trim(Clip)
End Sub
Sub SetMess
Set Mess = CreateObject("Scripting.Dictionary")
Mess.Add 0, "Переименование"
Mess.Add 1, "Неправильно указаны параметры!"
Mess.Add 2, "Входной параметр не является файлом!"
Mess.Add 3, "Не зарегистрирован объект 'Script Helper ActiveX for Total Commander'!"
Mess.Add 4, "Буфер обмена не содержит текста!"
End Sub
Function MessBox(pMess, pMode)
Dim lIcon
Select Case pMode
Case 1 lIcon = vbCritical + vbOKOnly
Case 2 lIcon = vbExclamation + vbOKOnly
Case 3 lIcon = vbInformation + vbOKOnly
Case 4 lIcon = vbExclamation + vbOKCancel
End Select
MessBox = MsgBox(pMess, lIcon, Mess(0))
End Function
Sub Quit
Set TCS = Nothing
Set FSO = Nothing
Wscript.Quit
End Sub |
_________________ Нет, я не сплю. Я просто медленно моргаю.
Last edited by Batya on Mon Jan 12, 2009 13:12; edited 1 time in total |
|