Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Надо найти 40 файлов и удалить! 
Author Message
Dimych



PostPosted: Sat Apr 25, 2009 16:44    Post subject: Reply with quote

Koljasik wrote:
а через %commander_path% можно как-нибудь


Например.
1. Заменить начало кода Batya
с
Code:

'============================
' Колонка Result будет возвращать признак наличия файла\каталога в указанном файле-списке:
'   0 - файл\каталог НЕ найден; 1 - файл\каталог найден
'=== Изменяемые параметры ===
Const FileList = "C:\FileList.txt" 'Файл-список
'============================

Dim FSO, List, QuitFlag
Const ForReading = 1
Set FSO = CreateObject("Scripting.FileSystemObject")

на
Code:

'============================
' Колонка Result будет возвращать признак наличия файла\каталога в указанном файле-списке:
'   0 - файл\каталог НЕ найден; 1 - файл\каталог найден
'============================

Dim FSO, List, QuitFlag, FileList
Const ForReading = 1
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSHShell = WScript.CreateObject("WScript.Shell")

' Файл-список
FileList="%commander_path%\FileList.txt"

' Замена любых переменных окружения, заданных в FileList
FileList = strReplaceEnveroumentString(FileList)


и 2. Заменить конец кода Batya
с
Code:

Sub Quit
  QuitFlag = True
  Set FSO  = Nothing
End Sub

на
Code:

Sub Quit
  QuitFlag = True
  Set FSO  = Nothing
  Set WSHShell  = Nothing
End Sub

Function strReplaceEnveroumentString(byVal strSource)
' Замена всех переменных окружения в строке strSource на их значение
Dim strFields, intSizeFields, intI, strTarget
strTarget = ""
If strSource <> "" Then
    strFields = Split(strSource,"%")
    intSizeFields = UBound(strFields)
    strTarget=strFields(0)
    For intI = 1 To intSizeFields Step 2
        strTarget = strTarget & WshShell.ExpandEnvironmentStrings("%" & strFields(intI) & "%")
        If intI + 1 <= intSizeFields Then strTarget = strTarget & strFields(intI + 1)
    Next
End If
strReplaceEnveroumentString = strTarget
End Function


Теперь можно в FileList задавать любые переменные окружение, а не только %commander_path%.[/b]
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group