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 

Копирование без вложенных директорий
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
suraev



Joined: 31 Oct 2013
Posts: 3

Post (Separately) Posted: Thu Oct 31, 2013 10:35    Post subject: Копирование без вложенных директорий Reply with quote

Добрый день.

Поискал в русском и английском сегментах сети, но не могу найти ответ на такой вопрос:

как копировать без вложенных директорий?

Пример

Code:
-AAAA
       --AAAA1
            aaaa1.txt
       --AAAA2
           aaaa2.txt
       aaaa.txt


Нужно чтобы в итоге скопировалось

Code:
-AAAA
  aaaa.txt
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Thu Oct 31, 2013 11:45    Post subject: Reply with quote

Как вариант, открыть папку, откуда надо копировать структуру, выполнить там поиск на нужную глубину, вывести результаты в панель и, выделив только файлы, скопировать.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2688

Post (Separately) Posted: Thu Oct 31, 2013 12:00    Post subject: Reply with quote

MVV wrote:
скопировать.

Каталоги же (-AAAA) не скопируются? Разве только воспользоваться для копирования CopyTree.
Back to top
View user's profile Send private message
suraev



Joined: 31 Oct 2013
Posts: 3

Post (Separately) Posted: Thu Oct 31, 2013 12:16    Post subject: Reply with quote

В версии 8.5 при копировании есть возможность делать выборку (фильтр), но если указать там, к примеру,

search for: *.txt
search in subdirectories: current dir only

всё равно копируется всё, включая структуру вложенных папок и файлы вложенных папок.

Добавлено спустя 51 минуту:

sa wrote:
MVV wrote:
скопировать.

Каталоги же (-AAAA) не скопируются? Разве только воспользоваться для копирования CopyTree.


Да, вариант с CopyTree рабочий, спасибо.

Но есть только одно "но" - файлов десятки тысяч, на десятки гигабайт, в итоге через упаковку (даже с "нулевым" сжатием в zip) получается довольно медленно.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Thu Oct 31, 2013 13:17    Post subject: Reply with quote

sa wrote:
Каталоги же (-AAAA) не скопируются? Разве только воспользоваться для копирования CopyTree.

Ну а чем плох вариант с CopyTree?

suraev wrote:
в итоге через упаковку (даже с "нулевым" сжатием в zip) получается довольно медленно.

Зачем же делать через ж упаковку, если есть CopyTree? Smile
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2688

Post (Separately) Posted: Thu Oct 31, 2013 14:02    Post subject: Reply with quote

MVV wrote:
Ну а чем плох вариант с CopyTree?
Я говорил, чем плох вариант без CopyTree. Smile

suraev wrote:
В версии 8.5 при копировании есть возможность делать выборку (фильтр)
Оказывается, это есть и в гораздо более древних версиях...
Back to top
View user's profile Send private message
suraev



Joined: 31 Oct 2013
Posts: 3

Post (Separately) Posted: Thu Oct 31, 2013 14:34    Post subject: Reply with quote

sa wrote:
Оказывается, это есть и в гораздо более древних версиях...

Я специально сегодня ставил 8.01 и последнюю бету 8.5 - именно в 8.5 появился плюсик справа от поля, где указываются типы (расширения) копируемых файлов. Может и в 8.01 это есть, но не так явно в интерфейсе (а я с TC не слишком опытен, эксплуатирую только самые основные очевидные функции).

Добавлено спустя 15 минут:

MVV wrote:
Зачем же делать через ж упаковку, если есть CopyTree? Smile

Да, это я включил режим "тупняка". Я думал, что диалог, возникающий при ALT-F5 (а там надо выбирать архиватор), это и есть результат работы CopyTree. Теперь уже понял, что плагин проявляется именно в виде дополнительного архиватора в списке архиваторов. Сейчас буду разбираться, как с помощью CopyTree скопировать файлы только определённого типа ("allows to setup include/exclude masks for files to be proccessed"). Но поскольку есть отдельная тема для CopyTree, я свои вопросы направлю туда, если они возникнут.

Спасибо за наводку.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10415
Location: Россия, Саратов

Post (Separately) Posted: Thu Oct 31, 2013 14:50    Post subject: Reply with quote

sa
suraev
В прежних версиях была возможность выбирать уже существующий шаблон из выпадающего списка, в 8.50 можно также создавать новый шаблон прямо из диалога копирования, а не заранее. (Как раз этот самый плюсик.)
P.S. А вот оверквотинг на форуме наказуем. Лишнее цитирование убрано.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2688

Post (Separately) Posted: Thu Oct 31, 2013 14:57    Post subject: Reply with quote

Для решения задачи можно ещё воспользоваться командой синхронизации каталогов: установить ассиметричный режим, без подкаталогов и без пустых каталогов (исходная панель должна быть слева, а каталоги для копирования должны быть выделены). Вызвать сравнение и затем синхронизировать, исключив из показа файлы, копируемые справа налево.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Thu Oct 31, 2013 16:48    Post subject: Reply with quote

suraev,
Кнопка "+" в диалоге копирования ничем не поможет в поиске файлов через диалог поиска. Smile Поэтому искать придётся всё равно поиском.

При копировании через CopyTree можно использовать только маски, без созданных в тотале шаблонов.

sa,
Так же можно только при глубине копирования, равной 1...
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2688

Post (Separately) Posted: Thu Oct 31, 2013 16:53    Post subject: Reply with quote

MVV wrote:
Так же можно только при глубине копирования, равной 1...
Другая задача и не ставилась.

suraev wrote:
всё равно копируется всё, включая структуру вложенных папок и файлы вложенных папок.
Похоже, что при копировании по шаблону, TC применяет шаблон только к файлам в каждом отдельно взятом каталоге.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2688

Post (Separately) Posted: Fri Nov 01, 2013 16:07    Post subject: Reply with quote

Не сразу сообразил, что при использовании CopyTree, нет необходимости в предварительном поиске: достаточно в диалоге упаковки снять галку учёта подкаталогов.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat Nov 02, 2013 18:26    Post subject: Reply with quote

suraev, vbs:
Code:
'============================================================
' Копировать выбранные каталоги со всеми файлам без структуры
' Параметры: %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) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2688

Post (Separately) Posted: Mon Nov 04, 2013 09:44    Post subject: Reply with quote

Поиском в выделенном можно найти каталоги с текущим уровнем вложенности, вывести их на панель и добавить (с путями) в список исключений. Останется произвести нужное копирование и затем вернуть первоначальный список исключений. Громоздко, зато не требуются плагины.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Mon Nov 04, 2013 12:02    Post subject: Reply with quote

Упс. Я задание не так прочёл. Тут всё гораздо проще:
Code:
TOTALCMD#BAR#DATA
xcopy
%V\*.* "%T%O\"
wcmicons.dll,50
Копировать папку с файлами, расположенными в её корне

1

_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group