Создание списка имен выделенных папок

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Ответить
sergiokapone
Сообщения: 99
Зарегистрирован: Ср ноя 18, 2009 17:53

Создание списка имен выделенных папок

Сообщение sergiokapone »

Нужно создать кнопку, которая список выделенных папок записывает в текстовый файл вида:

Код: Выделить всё

{Имя папки, содержащей выделенные}{Имя первой выделенной папки}
{Имя папки, содержащей выделенные}{Имя второй выделенной папки}
{Имя папки, содержащей выделенные}{Имя третьей выделенной  папки}
...
Пример. Есть папки:

Код: Выделить всё

C:\First\Second\
C:\First\Second\a\
C:\First\Second\b\
C:\First\Second\c\
Внутри Second\ выделяются папки a,b и c. По нажатию кнопки записывается текстовый файл вида:

Код: Выделить всё

{Second}{a}
{Second}{b}
{Second}{c}
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Код: Выделить всё

'=======================================
' Создать из выбранного список элементов
' по шаблону {родитель}{элемент}

' Параметры %WL "<путь назначения>"
'=======================================
With WScript.Arguments
  If .Count = 0 Then WScript.Quit
  L = .Item(0) : P = .Item(1)
End With
With CreateObject("Scripting.FileSystemObject")
  Path = .BuildPath(P, "\") : Set L = .OpenTextFile(L,,,-1)
  Do : F = L.ReadLine
    S = S & vbNewLine & "{" & .GetFileName(._
    GetParentFolderName(F)) & "}{" & .GetFileName(F) & "}"
  Loop Until L.AtEndOfStream
  BN = "ParentNameList" : Ext = ".txt" : i = 0 : F = BN & Ext
  While (.FileExists(Path & FN) OR .FolderExists(Path & F))
  i = i + 1 : F = BN & " (" & i & ")" & Ext : Wend : Name = Path & F
  .CreateTextFile(Path & F, 1, True).Write Mid(S, 3)
End With
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Ответить