Перемещение файлов вместе с содержимым каталога
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Перемещение файлов вместе с содержимым каталога
Здравствуйте.
Подскажите, как лучше, осуществить такую задачу?
Существует множество каталогов (более 100) в каждом из них находятся несколько типов файлов:
основные - html, связанные с ними по смыслу- файлы .jpg и видео файлы .flv
В некоторых каталогах,- файлы html - отсутствуют. Моя задача - найти каталоги с полным "комплектом" (наличие в каталоге всех трех типов файлов) и переместить их, вместе со всем содержимым на другую панель.
На данный момент использую такую схему: поиск всех файлов html-> вывод на панель-> создание списка файлов с полными путями -> редактирование текстового файла (до вида- имя\ ), удаление дубликатов строк -> загрузка выделения из этого файла и как результат - перемещение каталогов с html файлами и всем содержимым на другую панель.
Возможно-ли упростить данную схему,- чтобы не прибегать к созданию файла списка?
Например через поиск найти html файлы выделить их и ... скопировать на другую панель все эти файлы со структурой и полным содержимым каждого каталога.
Существующие плагины (например TreeCopyPlus) или скрипты позволяют копировать выделенные файлы со структурой, но без дополнительного содержимого каждого каталога. Пробовал также использовать для этого команду xcopy Но файлы просто исчезали (видимо не правильно задавал параметры).
надеюсь на помощь.
Спасибо.
Подскажите, как лучше, осуществить такую задачу?
Существует множество каталогов (более 100) в каждом из них находятся несколько типов файлов:
основные - html, связанные с ними по смыслу- файлы .jpg и видео файлы .flv
В некоторых каталогах,- файлы html - отсутствуют. Моя задача - найти каталоги с полным "комплектом" (наличие в каталоге всех трех типов файлов) и переместить их, вместе со всем содержимым на другую панель.
На данный момент использую такую схему: поиск всех файлов html-> вывод на панель-> создание списка файлов с полными путями -> редактирование текстового файла (до вида- имя\ ), удаление дубликатов строк -> загрузка выделения из этого файла и как результат - перемещение каталогов с html файлами и всем содержимым на другую панель.
Возможно-ли упростить данную схему,- чтобы не прибегать к созданию файла списка?
Например через поиск найти html файлы выделить их и ... скопировать на другую панель все эти файлы со структурой и полным содержимым каждого каталога.
Существующие плагины (например TreeCopyPlus) или скрипты позволяют копировать выделенные файлы со структурой, но без дополнительного содержимого каждого каталога. Пробовал также использовать для этого команду xcopy Но файлы просто исчезали (видимо не правильно задавал параметры).
надеюсь на помощь.
Спасибо.
Последний раз редактировалось shveicar Вс май 06, 2012 14:41, всего редактировалось 1 раз.
Код: Выделить всё
'======================================================================
' Перемещение выделенных папок при условии нахождения в них файлов
' со всеми указанными расширениями
' Параметры: %WL "<путь назначения>" <фильтр расширений через запятую>
' Пример: %WL "%T" txt,lst,log
'======================================================================
With WScript.Arguments
C = .Count : If C = 0 Then WScript.Quit
On Error Resume Next
List = .Item(0) : Path = .Item(1) : Filt = .Item(2)
On Error Goto 0
If C < 3 Then : MsgBox "Укажите 3 параметра!", 4144 : Wscript.Quit : End if
End With : If Right(Path, 1) <> "\" Then Path = Path & "\"
Sp = Split(Filt,",") : Max = Ubound(Sp) + 1
Set FSO = CreateObject("Scripting.FileSystemObject")
For Each F in Split(FSO.GetFile(List).OpenAsTextStream(1, -1).ReadAll, vbNewLine)
If F > vbNullString Then
If FSO.FolderExists(F) Then
With CreateObject("Shell.Application")
Set P1 = .NameSpace(F).Items
Set P2 = .NameSpace(Path)
End With
If Len(Filt) > 0 Then
For Each Fi in Sp
P1.Filter 96, "*." & Fi : If P1.Count > 0 Then Ch = Ch + 1
Next
If Max = Ch Then
Folder = Path & FSO.GetFileName(F) : P2.MoveHere F, 16
End If : Ch = 0 : Set P1 = Nothing : Set P2 = Nothing
End If
End If
End If
Next : Set FSO = Nothing : WScript.QuitFlasher
Отлично, с выделенными каталогами работает, жаль только с рекурсией - нет. Это в принципе не возможно, или сильно усложняет задачу?, иногда удобно через поиск найти нужный тип файлов и сразу выделив их переместить.
В прочем, и в таком варианте, сортировка, сильно упрощается.
Спасибо за помощь.
Отлично, с выделенными каталогами работает, жаль только с рекурсией - нет. Это в принципе не возможно, или сильно усложняет задачу?, иногда удобно через поиск найти нужный тип файлов и сразу выделив их переместить.
В прочем, и в таком варианте, сортировка, сильно упрощается.
Спасибо за помощь.
Я правильно понимаю, что речь идёт не о родительских каталогах, а обо всех в структуре вне зависимости от их одноимённости?shveicar писал(а):искомые каталоги расположены в разных папках, на разной глубине
И если попадается одноимённая, то что с ней делать?:
а) перемещать с переименованием
б) копировать содержимое в уже существующую папку
И как быть, если файлы с указанными расширениями есть не только в корне папки, но и в подкаталогах? Как определять, на каком уровне брать каталог для перемещения? Идём от корня - если нет, переходим к подкаталогу, если в нём есть нужное - копируем его, потом так же с другими?
Flasher
Здравствуйте.
В первую очередь, (если конечно такое возможно) пусть в скрипте будет выбор режима копирование или перемещение.
с помощью чисел с нумерацией от корня.
Если Я вдруг что-то пропустил, заранее извиняюсь.
Спасибо.
Здравствуйте.
В первую очередь, (если конечно такое возможно) пусть в скрипте будет выбор режима копирование или перемещение.
Да, всё верно, - речь идет об рассортировке, естественно, перед применением такого скрипта, - нужно будет произвести предварительную обработку: например с помощью плагина filex, найти файлы с нужным расширением - на нужной глубине вложенности, вынести их на панель и переместить в отдельную папку на против. Если вдруг, при выделение нужного типа файлов, было задействовано, несколько уровней вложенности, и в структуре имеются одноименные каталоги, то в ходе процесса копирования или перемещения, вся цепочка будет пропущена, и в конце действия скрипта (опять же, если это возможно) будет создан текстовой файл с пропущенными цепочками, с полными путями к совпадающим файлам или каталогам. Такой способ, позволит безошибочно рассортировать содержимое.Flasher писал(а):Я правильно понимаю, что речь идёт не о родительских каталогах, а обо всех в структуре вне зависимости от их одноимённости?
Здесь, можно попробовать использовать принцип плагина (TreeCopy) он позволяет регулировать глубину воссоздания структуры,Как определять, на каком уровне брать каталог для перемещения? Идём от корня - если нет, переходим к подкаталогу, если в нём есть нужное - копируем его, потом так же с другими?
с помощью чисел с нумерацией от корня.
Если Я вдруг что-то пропустил, заранее извиняюсь.
Спасибо.
Не понял. Это зачем? Рекурсия тут где тогда?shveicar писал(а):найти файлы с нужным расширением - на нужной глубине вложенности, вынести их на панель и переместить в отдельную папку на против
Мне что, по каждому файлу структуру его род. каталога проверять? Это бессмысленная трата ресурсов. Задача изначально стояла - копировать каталоги со всем содержимым. К чему тут выделение файлов?!?shveicar писал(а):Если вдруг, при выделение нужного типа файлов, было задействовано, несколько уровней вложенности, и в структуре имеются одноименные каталоги, то в ходе процесса копирования или перемещения, вся цепочка будет пропущена
И что, это лучше чемshveicar писал(а):будет создан текстовой файл с пропущенными цепочками
Flasher писал(а):а) перемещать с переименованием
б) копировать содержимое в уже существующую папку
И какой в этом смысл? Зачем глубину контролировать?shveicar писал(а):с помощью чисел с нумерацией от корня
В общем, мне нужно увидеть небольшой пример исходного и конечного дерева какой-то папки.
Вот полная структура главного каталога (вместо файлов естественно пустышки)
Код: Выделить всё
MIME-Version: 1.0
Content-Type: application/octet-stream; name="3.rar"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="3.rar"
UmFyIRoHAG+Xc0AADQAAAAAAAAAaHHQgkEUAAAAAAAAAAAACAAAAAK4CqEAdMCAAIAAAADNc
MTJfbWVzamF0c2V2XDEyX21hc2phdHNldjEuanBnALCarU7osHQgkEQAAAAAAAAAAAACAAAA
AK4CqEAdMB8AIAAAADNcMTJfbWVzamF0c2V2XDEyX21lc2phdHNldi5odG0AsPQPUZpqdCCQ
RAAAAAAAAAAAAAIAAAAArgKoQB0wHwAgAAAAM1wxMl9tZXNqYXRzZXZcMTJfbWVzamF0c2V2
LnN3ZgCwTnJTjnN0IJBGAAAAAAAAAAAAAgAAAACuAqhAHTAhACAAAAAzXDEyX21lc2phdHNl
dlwxMl9tZXNqYXRzZXYwMi5odG0AsAI3WFxHdCCQRgAAAAAAAAAAAAIAAAAArgKoQB0wIQAg
AAAAM1wxMl9tZXNqYXRzZXZcMTJfbWVzamF0c2V2MDIuc3dmALBcmVrIZ3QgkEAAAAAAAAAA
AAACAAAAAK4CqEAdMBsAIAAAADNcMTJfbWVzamF0c2V2XEJlX2hhcHB5Lmh0bQCwtvtcbP10
IJBAAAAAAAAAAAAAAgAAAACuAqhAHTAbACAAAAAzXDEyX21lc2phdHNldlxiZV9oYXBweS5z
d2YAsGrAYUiOdCCQQgAAAAAAAAAAAAIAAAAArgKoQB0wHQAgAAAAM1wxMl9tZXNqYXRzZXZc
SV9saWtlX3lvdS5qcGcAsMQiZB37dCCQOgAAAAAAAAAAAAIAAAAArgKoQB0wFQAgAAAAM1xh
aWJvbGl0XGFpYm9saXQuanBnALAehWaGr3QgkDoAAAAAAAAAAAACAAAAAK4CqEAdMBUAIAAA
ADNcYWlib2xpdFxhaWJvbGl0LnN3ZgCweOdoUbp0IJBNAAAAAAAAAAAAAgAAAACuAqhAHTAo
ACAAAAAzXGFsZW5rX3RzdmV0b2NoZWtcYWxlbmtpX3RzdmV0b2NoZWsuanBnALC+qozFiHQg
kE4AAAAAAAAAAAACAAAAAK4CqEAdMCkAIAAAADNcYWxlbmtfdHN2ZXRvY2hla1xhbGVua2lf
dHN2ZXRvY2hlazIuanBnALAYDY9LqHQgkE4AAAAAAAAAAAACAAAAAK4CqEAdMCkAIAAAADNc
YWxlbmtfdHN2ZXRvY2hla1xhbGVua2lfdHN2ZXRvY2hlazMuanBnALDM0ZNiFXQgkE4AAAAA
AAAAAAACAAAAAK4CqEAdMCkAIAAAADNcYWxlbmtfdHN2ZXRvY2hla1xhbGVua2lfdHN2ZXRv
Y2hlazQuanBnALAmNJacqnQgkF8AAAAAAAAAAAACAAAAAK4CqEAdMDoAIAAAADNcYWxlbmtf
dHN2ZXRvY2hla1xhbGVua190c3ZldG9jaGVrMVxhbGVua2lfdHN2ZXRvY2hlay5qcGcAsCys
bQVtdCCQYAAAAAAAAAAAAAIAAAAArgKoQB0wOwAgAAAAM1xhbGVua190c3ZldG9jaGVrXGFs
ZW5rX3RzdmV0b2NoZWsxXGFsZW5raV90c3ZldG9jaGVrMi5qcGcAsIYOcP2EdCCQYAAAAAAA
AAAAAAIAAAAArgKoQB0wOwAgAAAAM1xhbGVua190c3ZldG9jaGVrXGFsZW5rX3RzdmV0b2No
ZWsxXGFsZW5raV90c3ZldG9jaGVrMy5qcGcAsOBwcscQdCCQYAAAAAAAAAAAAAIAAAAArgKo
QB0wOwAgAAAAM1xhbGVua190c3ZldG9jaGVrXGFsZW5rX3RzdmV0b2NoZWsxXGFsZW5raV90
c3ZldG9jaGVrNC5qcGcAsJQ1d3KGdCCQXwAAAAAAAAAAAAIAAAAArgKoQB0wOgAgAAAAM1xh
bGVua190c3ZldG9jaGVrXGFsZW5rX3RzdmV0b2NoZWsxXGFsZW5rX3RzdmV0b2NoZWsxLmh0
bQCw7pd5+MV0IJBKAAAAAAAAAAAAAgAAAACuAqhAHTAoACAAAAAzXGFsZW5rX3RzdmV0b2No
ZWtcYWxlbmtfdHN2ZXRvY2hlazEuc3dmAMBh+XQgkF8AAAAAAAAAAAACAAAAAK4CqEAdMDoA
IAAAADNcYWxlbmtfdHN2ZXRvY2hla1xhbGVua190c3ZldG9jaGVrM1xhbGVua190c3ZldG9j
aGVrMy5odG0AsEj6e9JndCCQYAAAAAAAAAAAAAIAAAAArgKoQB0wOwAgAAAAM1xhbGVua190
c3ZldG9jaGVrXGFsZW5rX3RzdmV0b2NoZWs0XGFsZW5raV90c3ZldG9jaGVrMi5qcGcAsPy+
gDUTdCCQYAAAAAAAAAAAAAIAAAAArgKoQB0wOwAgAAAAM1xhbGVua190c3ZldG9jaGVrXGFs
ZW5rX3RzdmV0b2NoZWs0XGFsZW5raV90c3ZldG9jaGVrMy5qcGcAsFYhgwDfdCCQYAAAAAAA
AAAAAAIAAAAArgKoQB0wOwAgAAAAM1xhbGVua190c3ZldG9jaGVrXGFsZW5rX3RzdmV0b2No
ZWs0XGFsZW5raV90c3ZldG9jaGVrNC5qcGcAsLCDhX+gdCCQXwAAAAAAAAAAAAIAAAAArgKo
QB0wOgAgAAAAM1xhbGVua190c3ZldG9jaGVrXGFsZW5rX3RzdmV0b2NoZWs0XGFsZW5rX3Rz
dmV0b2NoZWs0Lmh0bQCwZEiKH0p0IJBIAAAAAAAAAAAAAgAAAACuAqhAHTAjACAAAAAzXGFs
ZW51c2hrYV9pdmFudXNoa2FcYWxlbnVzaGthLmpwZwDwWmIClJt0IJBSAAAAAAAAAAAAAgAA
AACuAqhAHTAtACAAAAAzXGFsZW51c2hrYV9pdmFudXNoa2FcYWxlbnVzaGthX2l2YW51c2hr
YS5zd2YA8A4nB+QZdCCQPAAAAAAAAAAAAAIAAAAArgKoQB0wFwAgAAAAM1xCZV9oYXBweVxC
ZV9oYXBweS5odG0A8GiJCYJcdCCQPAAAAAAAAAAAAAIAAAAArgKoQB0wFwAgAAAAM1xCZV9o
YXBweVxiZV9oYXBweS5zd2YA8MLrC5bedCCQPgAAAAAAAAAAAAIAAAAArgKoQB0wGQAgAAAA
M1xCZV9oYXBweVxJX2xpa2VfeW91LmpwZwDwdrAQItN0IJBEAAAAAAAAAAAAAgAAAACuAqhA
HTAfACAAAAAzXGJvYmlrX2JhcmJvc1xib2Jpa19iYXJib3MuaHRtAPDQEhN5fXQgkEQAAAAA
AAAAAAACAAAAAK4CqEAdMB8AIAAAADNcYm9iaWtfYmFyYm9zXGJvYmlrX2JhcmJvcy5qcGcA
8Cp1FcZ8dCCQRAAAAAAAAAAAAAIAAAAArgKoQB0wHwAgAAAAM1xib2Jpa19iYXJib3NcYm9i
aWtfYmFyYm9zLnN3ZgDw3jkaZap0IJAyAAAAAAAAAAAAAgAAAACuAqhAHTANACAAAAAzXGJ1
clxidXIuaHRtAPA4nBzSGnQgkDIAAAAAAAAAAAACAAAAAK4CqEAdMA0AIAAAADNcYnVyXGJ1
ci5qcGcA8JL+HrpEdCCQMgAAAAAAAAAAAAIAAAAArgKoQB0wDQAgAAAAM1xidXJcYnVyLnN3
ZgDwRsMjIH904JBJAAAAAAAAAAAAAgAAAACuAqhAFDAkABAAAAAzXGFsZW5rX3RzdmV0b2No
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Гмм.. Я же просил не только исходный, но и конечный вариант деревьев. Т.е.
было:
cтало:
Мне нужно прояснить, что делать с корневыми файлами, что делать с одноимёнками в конечном счёте.
На видео тоже неясно. Тут написано про включение всего содержимого (т.е. с подкаталогами), а там приводится пример только с файлами.
было:
Код: Выделить всё
Родитель >
Папка 1 >
*.htm
*.swf
*.jpg
папка 2 >
*.htm
*.swf
папка 1 >
x*.htm
x*.swf
x*.jpg
папка 3 >
*.htm
*.swf
*.jpgКод: Выделить всё
Получатель >
Папка 1 >
*.htm
*.swf
*.jpg
x*.htm
x*.swf
x*.jpg
папка 3 >
*.htm
*.swf
*.jpg На видео тоже неясно. Тут написано про включение всего содержимого (т.е. с подкаталогами), а там приводится пример только с файлами.
Flasher
Да, Я понял, что проблема возникнет при наличии .htm файлов в промежуточных каталогах, в которых также есть вложенные структуры с .htm файлами.
На самом деле, Я и упоминал про поиск с определенной глубиной вложенности, именно из за этого. Специально воспроизвел такой пример, и TreeCopy выдал сообщение с вопросом что делать, переименовать или не копировать. Поэтому лучше, пропустить копирование (перемещение) такой структуры, что бы избежать путаницы.
Главное, чтобы, информация о пропуске, где то фиксировалась.
Данный скрипт (если он конечно будет создан) - может быть применен, в самом начале обработки информации, и если есть совпадения, - то они могут быть обработаны после этого, в ручном или полуавтоматическом режиме после проверки. Такой принцип, позволит сильно сэкономить время.
Возможно Я изначально, не правильно упомянул термин "рекурсия", поскольку основной задачей, является - отделение каталогов, с полным "комплектом файлов", без вложенных подкаталогов. А изначально, созданный выше скрипт, не позволяет автоматически перенести папку с "комплектом файлов" если она вложена в подкаталог.
Да, Я понял, что проблема возникнет при наличии .htm файлов в промежуточных каталогах, в которых также есть вложенные структуры с .htm файлами.
На самом деле, Я и упоминал про поиск с определенной глубиной вложенности, именно из за этого. Специально воспроизвел такой пример, и TreeCopy выдал сообщение с вопросом что делать, переименовать или не копировать. Поэтому лучше, пропустить копирование (перемещение) такой структуры, что бы избежать путаницы.
Главное, чтобы, информация о пропуске, где то фиксировалась.
Данный скрипт (если он конечно будет создан) - может быть применен, в самом начале обработки информации, и если есть совпадения, - то они могут быть обработаны после этого, в ручном или полуавтоматическом режиме после проверки. Такой принцип, позволит сильно сэкономить время.
Возможно Я изначально, не правильно упомянул термин "рекурсия", поскольку основной задачей, является - отделение каталогов, с полным "комплектом файлов", без вложенных подкаталогов. А изначально, созданный выше скрипт, не позволяет автоматически перенести папку с "комплектом файлов" если она вложена в подкаталог.
А какая разница html-файлы это или swf/jpg, если нужно перемещать при наличии всех трёх?shveicar писал(а):Я понял, что проблема возникнет при наличии .htm файлов
Я предложил переименовывать. Это разве не помогает избежать путаницы?shveicar писал(а):Поэтому лучше, пропустить копирование (перемещение) такой структуры, что бы избежать путаницы.
И что с ними будет происходить такого, что нельзя сделать в автоматическом режиме?shveicar писал(а):то они могут быть обработаны после этого, в ручном или полуавтоматическом режиме
Т.е. каждый подкаталог на любой глубине идёт как отдельная папка?shveicar писал(а):с полным "комплектом файлов", без вложенных подкаталогов
Например, была такая структура:
1. "Мои документы" (3 расш.) > 2. "Мои документы 1" (2 расш.) > 3. "Мои документы 2" (3 расш.) > 4. "Мои документы" (3 расш.) > 5. "Мои документы" (3 расш.)
Курсор на папке 1. , ест-нно. Выполняем. Получается:
1. "Мои документы" (3 расш.)
3. "Мои документы 2" (3 расш.)
4. "Мои документы (1)" (3 расш.)
5. "Мои документы (2)" (3 расш.)
Так
P.S. С запятыми полегче. А то скоро, чую, они будут после каждого слова.
Подразумевал, что поиск начинается с файлов .htmFlasher писал(а):А какая разница html-файлы это или swf/jpg, если нужно перемещать при наличии всех трёх?
Да пусть будет так, главное, чтоб имя было уникальное, например _bakЯ предложил переименовывать. Это разве не помогает избежать путаницы?
Может произойти нарушение смысловой связи с другими файлами, если многие имена интернет файлов будут иметь значение index.htm и отличить их "на вскидку" будет невозможно.И что с ними будет происходить такого, что нельзя сделать в автоматическом режиме?
Это, тоже удобный вариант, естественно при этом, произойдет нарушение общей структуры, но для детальной проработки может понадобиться.Т.е. каждый подкаталог на любой глубине идёт как отдельная папка?
1. "Мои документы" (3 расш.)Например, была такая структура: ....Выполняем. Получается:
3. "Мои документы 2" (2 расш.) оставить на месте или переименовать при (копировании/перемещении)
4. "Мои документы (1)" (3 расш.)
5. "Мои документы (2)" (3 расш.)
Всё так, но только если в "Мои документы" есть файлы htm(html)
P.s Смысл всех этих манипуляций в том, чтобы в оставшиеся папки, (в которых нет htm файлов) поместить htm шаблоны, в каждом случае со своим содержимым, для получения взаимосвязи с остальными файлами jpg и .swf.
Спасибо.
Какая разница с чего начинать, если нужны все типы?shveicar писал(а):Подразумевал, что поиск начинается с файлов .htm
А счётчик чем плох?shveicar писал(а):Да пусть будет так, главное, чтоб имя было уникальное, например _bak
При автоматическом переименовании папок? Да ну?shveicar писал(а):Может произойти нарушение смысловой связи с другими файлами
Меня сейчас интересует вариант, который нужен. Если не разбивать подкаталоги по критерию наличия в их корнях всех указанных типов, то тогда будут возникать дубливаты по структуре.shveicar писал(а):Это, тоже удобный вариант, естественно при этом, произойдет нарушение общей структуры, но для детальной проработки может понадобиться.
Было:
Папка 1 > Папка 2
Стало:
Папка 1
Папка 2
Папка 1 > Папка 2
Т.е. уже 2 дубликата. Зачем они?
Это тут к чему? У меня написаноshveicar писал(а):3. "Мои документы 2" (2 расш.) оставить на месте или переименовать при (копировании/перемещении)
Flasher писал(а):3. "Мои документы 2" (3 расш.)
Да проверка-то идёт по наличию всех расширений. При чём тут именно html, не пойму?shveicar писал(а):Всё так, но только если в "Мои документы" есть файлы htm(html)
shveicar писал(а):Смысл всех этих манипуляций в том, чтобы в оставшиеся папки, (в которых нет htm файлов) поместить htm шаблоны