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: Копирование массива каталогов с одинаковыми именами 
Author Message
Flasher



PostPosted: Fri Apr 06, 2012 16:03    Post subject: Reply with quote

mythblu84
Там же в настройках задаётся число отсекаемых компонентов в началах путей.

Обещанное:
Code:
'=============================================================
' Копировать выделенные папки с переименованием при совпадении
' Параметры: %WL "<путь_назначения>"
' Пример:    %WL "%T"
' если указан 3-й параметр (например, "1"), то перемещать
'=============================================================
With WScript.Arguments
  C = .Count : If C = 0 Then WScript.Quit
  List = .Item(0) : Path = .Item(1) : Const M = 1
End With : If Right(Path, 1) <> "\" Then Path = Path & "\"
With CreateObject("Scripting.FileSystemObject")
  Set TF = .GetFile(List).OpenAsTextStream(1, -1)
  Do Until TF.AtEndOfStream
    F = Trim(TF.ReadLine)
    If F > vbNullString And .FolderExists(F) Then
      Name = .GetFileName(F) : FN = Name : n = 0
      Do While .FolderExists(Path & Name)
        n = n + 1
        If l < 10^M Then PFix = Right(String(M, "0") & n, M) Else PFix = n
        Name = .GetFileName(FN) & " (" & PFix & ")"
      Loop : NF = Path & Name & "\"
        If Not .FolderExists(NF) Then .CreateFolder(NF)
      On Error Resume Next
        .CopyFile F & "*", NF : .CopyFolder F & "*", NF
      On Error Goto 0
      If C = 3 Then .DeleteFolder Mid(F, 1, Len(F) - 1)
    End If
  Loop : TF.Close
End With
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group