Как вариант, открыть папку, откуда надо копировать структуру, выполнить там поиск на нужную глубину, вывести результаты в панель и, выделив только файлы, скопировать.
В версии 8.5 при копировании есть возможность делать выборку (фильтр), но если указать там, к примеру,
search for: *.txt
search in subdirectories: current dir only
всё равно копируется всё, включая структуру вложенных папок и файлы вложенных папок.
Добавлено спустя 51 минуту:
sa писал(а):
MVV писал(а):скопировать.
Каталоги же (-AAAA) не скопируются? Разве только воспользоваться для копирования CopyTree.
Да, вариант с CopyTree рабочий, спасибо.
Но есть только одно "но" - файлов десятки тысяч, на десятки гигабайт, в итоге через упаковку (даже с "нулевым" сжатием в zip) получается довольно медленно.
sa писал(а):Оказывается, это есть и в гораздо более древних версиях...
Я специально сегодня ставил 8.01 и последнюю бету 8.5 - именно в 8.5 появился плюсик справа от поля, где указываются типы (расширения) копируемых файлов. Может и в 8.01 это есть, но не так явно в интерфейсе (а я с TC не слишком опытен, эксплуатирую только самые основные очевидные функции).
Добавлено спустя 15 минут:
MVV писал(а):Зачем же делать через [s]ж[/s] упаковку, если есть CopyTree?
Да, это я включил режим "тупняка". Я думал, что диалог, возникающий при ALT-F5 (а там надо выбирать архиватор), это и есть результат работы CopyTree. Теперь уже понял, что плагин проявляется именно в виде дополнительного архиватора в списке архиваторов. Сейчас буду разбираться, как с помощью CopyTree скопировать файлы только определённого типа ("allows to setup include/exclude masks for files to be proccessed"). Но поскольку есть отдельная тема для CopyTree, я свои вопросы направлю туда, если они возникнут.
sa suraev
В прежних версиях была возможность выбирать уже существующий шаблон из выпадающего списка, в 8.50 можно также создавать новый шаблон прямо из диалога копирования, а не заранее. (Как раз этот самый плюсик.)
P.S. А вот оверквотинг на форуме наказуем. Лишнее цитирование убрано.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Для решения задачи можно ещё воспользоваться командой синхронизации каталогов: установить ассиметричный режим, без подкаталогов и без пустых каталогов (исходная панель должна быть слева, а каталоги для копирования должны быть выделены). Вызвать сравнение и затем синхронизировать, исключив из показа файлы, копируемые справа налево.
Не сразу сообразил, что при использовании CopyTree, нет необходимости в предварительном поиске: достаточно в диалоге упаковки снять галку учёта подкаталогов.
'============================================================
' Копировать выбранные каталоги со всеми файлам без структуры
' Параметры: %WL "<путь получателя>"
' Пример: %WL "%T"
'============================================================
If WScript.Arguments.Count Then
List = WScript.Arguments(0) : Path = WScript.Arguments(1)
If Right(Path, 1) <> "\" Then Path = Path & "\"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set SHA = CreateObject("Shell.Application")
For Each F in Split(FSO.GetFile(List).OpenAsTextStream(1, -1).ReadAll, vbNewLine)
If FSO.FolderExists(F) Then
T = Path & FSO.GetFileName(F)
If Not FSO.FolderExists(T) Then FSO.CreateFolder T
Set FNew = SHA.NameSpace(T) : Copy F, FNew
Recursive F, FNew : Set FNew = Nothing
End If
Next : Set FSO = Nothing : Set SHA = Nothing : WScript.Quit
End If
Sub Recursive(Fl, FdNew)
For Each Fd In FSO.GetFolder(Fl).SubFolders
Copy Fd, FdNew : Recursive Fd, FdNew
Next
End Sub
Sub Copy(OldF, NewF)
Set PA = SHA.NameSpace(CStr(OldF)).Items
PA.Filter 192, "*.*" : NewF.CopyHere PA, 12
End Sub
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Поиском в выделенном можно найти каталоги с текущим уровнем вложенности, вывести их на панель и добавить (с путями) в список исключений. Останется произвести нужное копирование и затем вернуть первоначальный список исключений. Громоздко, зато не требуются плагины.
TOTALCMD#BAR#DATA
xcopy
%V\*.* "%T%O\"
wcmicons.dll,50
Копировать папку с файлами, расположенными в её корне
1
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.