Автор Тема: Копирование структуры папок  (Прочитано 12136 раз)

Оффлайн Владимир Коваленко

  • Администратор
  • Опытный участник
  • *****
  • Сообщений: 22 586
  • Карма 2113
    • Просмотр профиля
    • История автоспорта
Копирование структуры папок
« : Сентября 26, 2009, 08:41:15 »
Задача следующая: в моём архиве сколько-то тысяч папок и подпапок. Мне надо создать точную копию всех этих папок без самих файлов, чтобы все папки и подпапки были на своих местах, но файлов в них не было. Их можно будет легко сжать в архивный файл малого размера и пересылать кому-нибудь для добавления файлов. То есть, допустим, у человека есть файлы, отсортированные по некоторым гонкам, но структура его архива отличается от моей (само собой, ведь у каждого свои цели и задачи). Он может скопировать свои файлы в мои папки и отправить мне. Я просто переношу полученные папки с их заполнением, и они автоматически попадают в нужные папки моего архива.
Я попробовал провести поиск: копирование структуры папок, - но, возможно, неточно выбрал ключевые слова.
Вот эти результаты показались мне интересными, но я ничего не понял:
http://forum.developing.ru/showthread.php?t=11979
http://forum.raid.ru/index.php?showtopic=36073
Кто-нибудь может что-нибудь подсказать?
Если кто-то чего-то не может, не умеет или не понимает, он доказывает, что это никому не нужно и даже вредно.

Оффлайн Владимир Мальчиков

  • Опытный участник
  • **
  • Сообщений: 182
  • Карма 1
    • Просмотр профиля
Re: Копирование структуры папок
« Ответ #1 : Сентября 26, 2009, 15:26:16 »
А твоя структура будет изменяться в будущем или нет?
С уважением,
 Владимир Мальчиков

Оффлайн Владимир Коваленко

  • Администратор
  • Опытный участник
  • *****
  • Сообщений: 22 586
  • Карма 2113
    • Просмотр профиля
    • История автоспорта
Re: Копирование структуры папок
« Ответ #2 : Сентября 26, 2009, 15:58:54 »
Да, конечно. Это каждый раз должна быть новая работа. То есть есть предложение от кого-либо поделиться файлами - я делаю копию текущей структуры папок и отсылаю.
Если кто-то чего-то не может, не умеет или не понимает, он доказывает, что это никому не нужно и даже вредно.

Оффлайн Владимир Мальчиков

  • Опытный участник
  • **
  • Сообщений: 182
  • Карма 1
    • Просмотр профиля
Re: Копирование структуры папок
« Ответ #3 : Сентября 26, 2009, 16:22:15 »
Нашел вот такой вариант.
Использовать в режиме командной строки Виндоус команду XCOPY
=================
XCOPY источник [результат] [/A | /M] [/D[:дата]]
[/S [/E]] [/V] [/W] [/C]  [/Q] [/F] [/L] [/G] [/H] [/R] [/T]  [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]  [/EXCLUDE:файл1[+файл2][+файл3]...]
===================
источник    Копируемые файлы.
результат   Местоположение и/или имена новых файлов
 
 /T          Создание структуры каталогов (кроме пустых каталогов) без копирования файлов. Если требуется создать пустые каталоги и подкаталоги, используйте сочетание ключей /T /E.
С уважением,
 Владимир Мальчиков

Оффлайн Владимир Коваленко

  • Администратор
  • Опытный участник
  • *****
  • Сообщений: 22 586
  • Карма 2113
    • Просмотр профиля
    • История автоспорта
Re: Копирование структуры папок
« Ответ #4 : Сентября 26, 2009, 16:32:16 »
Должен признать, что ничего не понял. Что я должен сообщить об исходных данных, чтобы ты смог привести точный текст, который я должен ввести?
Если кто-то чего-то не может, не умеет или не понимает, он доказывает, что это никому не нужно и даже вредно.

Оффлайн Владимир Мальчиков

  • Опытный участник
  • **
  • Сообщений: 182
  • Карма 1
    • Просмотр профиля
Re: Копирование структуры папок
« Ответ #5 : Сентября 26, 2009, 19:20:02 »
из какого каталога и куда ты хочешь скопировать
С уважением,
 Владимир Мальчиков

Оффлайн Александр Кречетов

  • Опытный участник
  • **
  • Сообщений: 1 556
  • Карма 106
    • Просмотр профиля
Re: Копирование структуры папок
« Ответ #6 : Сентября 26, 2009, 21:48:53 »
Тоже задумывался над такой проблемой. Тут есть её решение. Тоже упоминается команда xcopy, но я заинтересовался вариантом с плагином DirCopy 1.04 для программы "Тотал командер". Успешно установил этот плагин по инструкции к нему, по ней же успешно скопировал структуру папок без файлов.
 
Здесь объясняется синтаксис команды xcopy. По мне, так проще пользоваться "Тотал командером", если он не установлен, то установить. Хотя команда xcopy обладает любопытными возможностями. Но для цели копирования только структуры папок того плагина достаточно.
 
Такая единая структура конечно напоминает некий ГОСТ, и неплохо бы было чтобы КОСТ (стандарт Коваленко) был корректным, например, как будет выглядеть папка, чтобы можно было бы легко по её названию [в котором вероятно будет содержаться дата, название соревнования (возможно в каком-то сокращенном виде), возможно будет указана трасса, потом сложный вопрос - это распределения папок-соревнований по чемпионатам/сериям, я имею ввиду гонки входившие в чемпионат, и не входившие] проводить поиск в архиве. Также надо учесть, что если получатся слишком длинные пути у файлов в конечном итоге, то они могут не открытся.Александр Кречетов40083,2950810185

Оффлайн Владимир Коваленко

  • Администратор
  • Опытный участник
  • *****
  • Сообщений: 22 586
  • Карма 2113
    • Просмотр профиля
    • История автоспорта
Re: Копирование структуры папок
« Ответ #7 : Сентября 27, 2009, 04:11:02 »
Цитата: Владимир Мальчиков
из какого каталога и куда ты хочешь скопировать

Раз у Саши есть решение, я им воспользуюсь, а там посмотрим.
В идеале было бы хорошо папкам присвоить атрибуты с названиями трасс, гонок и т.п., но в рамках существующих файловых систем это, насколько мне известно, невозможно. Вот если бы сделать оболочку специально для автоспортивного архива, это было бы замечательно.
Если кто-то чего-то не может, не умеет или не понимает, он доказывает, что это никому не нужно и даже вредно.

Оффлайн Мозговой Роман

  • Опытный участник
  • **
  • Сообщений: 183
  • Карма 0
    • Просмотр профиля
Re: Копирование структуры папок
« Ответ #8 : Сентября 27, 2009, 05:41:23 »
Цитата: Владимир Коваленко
В идеале было бы хорошо папкам присвоить атрибуты с названиями трасс, гонок и т.п., но в рамках существующих файловых систем это, насколько мне известно, невозможно.

А что ты хочешь видеть в этих атрибутах? Допустим, меня вполне устраивает такой вариант папок:
2009 08 30 - 12 BEL - Spa-Francorchamps
Разнесённые по формульным сериям и годам, папки выстраиваются в хронологическом порядке, что достаточно удобно.

Оффлайн Владимир Мальчиков

  • Опытный участник
  • **
  • Сообщений: 182
  • Карма 1
    • Просмотр профиля
Re: Копирование структуры папок
« Ответ #9 : Сентября 27, 2009, 06:09:32 »
Цитата: Александр Кречетов

По мне, так проще пользоваться "Тотал командером", если он не установлен, то установить.

На вкус и цвет..... Ставить еще один файловый менеджер ради одной команды?
Не воспринимаю Тотал. Мне проще воспользоваться командной строкой, к которой привык еще со времен Юникса и ДОСа.
Но чем больше вариантов - тем проще будет выбрать ВладимируВладимир Мальчиков40083,6228703704
С уважением,
 Владимир Мальчиков

Оффлайн Владимир Коваленко

  • Администратор
  • Опытный участник
  • *****
  • Сообщений: 22 586
  • Карма 2113
    • Просмотр профиля
    • История автоспорта
Re: Копирование структуры папок
« Ответ #10 : Сентября 27, 2009, 06:57:21 »
Цитата: Роман Мозговой
А что ты хочешь видеть в этих атрибутах? Допустим, меня вполне устраивает такой вариант папок:
2009 08 30 - 12 BEL - Spa-Francorchamps
Разнесённые по формульным сериям и годам, папки выстраиваются в хронологическом порядке, что достаточно удобно.

У меня сейчас нет под рукой моего архива, чтобы всё проиллюстрировать. Но у меня имена папок имеют вид:
1925.09.12-brooklands-barc
1949.05.26-goodwood-easter
1950.05.13-gbrgp
Типа тоже сортировка в хронологическом порядке, но не везде я указываю трассы. Хотя, может быть, стоит в очередной раз провести революцию и сразу после даты указывать трассу, а потом условным обозначением - гонку или соревнование.
Но это уже другая тема.
Если кто-то чего-то не может, не умеет или не понимает, он доказывает, что это никому не нужно и даже вредно.

Оффлайн Александр Кречетов

  • Опытный участник
  • **
  • Сообщений: 1 556
  • Карма 106
    • Просмотр профиля
Re: Копирование структуры папок
« Ответ #11 : Сентября 27, 2009, 07:50:35 »
По поводу "Тотал командера" отмечу функцию, которой часто пользуюсь: групповое переименование по шаблону с возможным добавлением счетчика и в той же функции присвоение файлу иного расширения.
 
Ещё неплохо было бы добавить номер этапа, если соревнование входит в какой-нибудь чемпионат. Но, например, ГП США 50-х так просто отнести куда-либо, не подгоняя прошлое под современное видение, нелегко.
 
Несколько наблюдений:
- заглавные буквы в именах соревнований папок покрасивее смотрятся;
- а почему надо трассу ставить до названия соревнования, если оно есть;
- и могу предложить использовать подчеркивание "_" в именах файлов;
- если соревнование многодневное, то надо будет указывать дату старта и финиша так: 2009-09-05-13 (я между годом, месяцем, днями использую "-", но это не принципиально), но тут есть трудности, типа 24-часовых гонок и даже 12-часовых.Александр Кречетов40083,6915740741

Оффлайн Владимир Коваленко

  • Администратор
  • Опытный участник
  • *****
  • Сообщений: 22 586
  • Карма 2113
    • Просмотр профиля
    • История автоспорта
Копирование структуры папок
« Ответ #12 : Сентября 05, 2012, 23:25:56 »
Добил эту проблему. Решение оказалось издевательски простым. В том же самом "Тотал Коммандере" без каких-либо плагинов копируешь нужные папки, а ниже есть поле "Только файлы типа". Там надо указать какое-нибудь заведомо несуществующее расширение, например: *.!!!*. Копируются только папки.


В процессе поиска столкнулся с описанием решения для схожей задачи, в которой должны копироваться и сами файлы, но с нулевым размером. Это может понадобиться для того, чтобы знать, какие файлы в архиве уже есть. При необходимости освою. А пока что вот архив со структурой моего архива. Только осторожно: в распакованном виде все эти папки занимают довольно много места, несколько сотен мегабайт.


http://disk.tom.ru/83t28x8
Если кто-то чего-то не может, не умеет или не понимает, он доказывает, что это никому не нужно и даже вредно.