Переместить файлы по маске в папки, соответствующие маскам
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Переместить файлы по маске в папки, соответствующие маскам
Здравствуйте.
Ищу способ, который позволил бы перемещать файлы по маске в специальные новосозданные папки. Причем так чтобы перемещались по масково по отдельности в папки, т.е. файлы, соответствующие одной маской, отправляются в одну папку, а файлы соответствующие другой маске, отправляются в другую папку и т.д.
Дело в том, что у меня в одной папке есть около 500+ тыс. файлов, собранные со всех каталогов по поиску по маскам. И мне потребуется отсортировать огромную кучу файлов так, чтобы они переместились в соответствующие их маскам каталоги, причем названия каталогов должны браться из масок имени файлов. Например, есть у меня маска "melissa clarke", по ней находятся где-то три тысячи файлов и они должны переместиться в папку под названием "melissa clarke". А есть другая маска "*.gif", которая находит в этом каталоге 6 тыс. гифок и они должны переместиться в папку под названием "*.gif". Надеюсь принцип понятен. Как это сделать, самостоятельно в интернете не нашел, так что обращаюсь к вам с помощью, возможно есть способ создать такой скрипт, который позволил бы это реализовать.
Если это получится, то по идее в таком огромном каталоге должно создаться 2000+ подпапок, которые по отдельности будут представлять с себя хранилища файлов, соответствующие одной из масок, так как сами маски суммарно представляют собой 2+ тыс. отдельных единиц. И кстати в целом сам перечень масок занимает собой 24 тыс. знаков, так что хотелось бы чтобы сами маски можно было бы внести в код скрипта, т.к. лимит параметров в настройке инструментов ограничен 2048 знаков. А еще возможна такая ситуация, когда будут такие файлы, названия которых будут соответствовать нескольким маскам из целого перечня масок. В таком случае, пусть такие файлы перемещаются по принципу первенства масок, т.е. перемещаются в папки только по маске, которая в перечне масок стоит наиболее первой. Как-то так. Надеюсь на помощь и заранее спасибо!
Ищу способ, который позволил бы перемещать файлы по маске в специальные новосозданные папки. Причем так чтобы перемещались по масково по отдельности в папки, т.е. файлы, соответствующие одной маской, отправляются в одну папку, а файлы соответствующие другой маске, отправляются в другую папку и т.д.
Дело в том, что у меня в одной папке есть около 500+ тыс. файлов, собранные со всех каталогов по поиску по маскам. И мне потребуется отсортировать огромную кучу файлов так, чтобы они переместились в соответствующие их маскам каталоги, причем названия каталогов должны браться из масок имени файлов. Например, есть у меня маска "melissa clarke", по ней находятся где-то три тысячи файлов и они должны переместиться в папку под названием "melissa clarke". А есть другая маска "*.gif", которая находит в этом каталоге 6 тыс. гифок и они должны переместиться в папку под названием "*.gif". Надеюсь принцип понятен. Как это сделать, самостоятельно в интернете не нашел, так что обращаюсь к вам с помощью, возможно есть способ создать такой скрипт, который позволил бы это реализовать.
Если это получится, то по идее в таком огромном каталоге должно создаться 2000+ подпапок, которые по отдельности будут представлять с себя хранилища файлов, соответствующие одной из масок, так как сами маски суммарно представляют собой 2+ тыс. отдельных единиц. И кстати в целом сам перечень масок занимает собой 24 тыс. знаков, так что хотелось бы чтобы сами маски можно было бы внести в код скрипта, т.к. лимит параметров в настройке инструментов ограничен 2048 знаков. А еще возможна такая ситуация, когда будут такие файлы, названия которых будут соответствовать нескольким маскам из целого перечня масок. В таком случае, пусть такие файлы перемещаются по принципу первенства масок, т.е. перемещаются в папки только по маске, которая в перечне масок стоит наиболее первой. Как-то так. Надеюсь на помощь и заранее спасибо!
Hjkma
Тем с перемещением у нас было жуть как много (в частности). Можно было и не создавать новую.
Имена, на секундочку, не могут содержать *, поэтому именовать таким образом не получится. Нужно искать альтернативный символ. А так ничего сложного, всё тот же принцип, только ещё проще.
Впрочем, я уже нашёл (*﹡⋇⋆×∗⋆). Какой берём?
Тем с перемещением у нас было жуть как много (в частности). Можно было и не создавать новую.
Имена, на секундочку, не могут содержать *, поэтому именовать таким образом не получится. Нужно искать альтернативный символ. А так ничего сложного, всё тот же принцип, только ещё проще.
Впрочем, я уже нашёл (*﹡⋇⋆×∗⋆). Какой берём?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Flasher
Простите, что не создал в этой теме пост. Можно перенести и эту тему удалить. Просто искал по форуме тему как перенести файлы в специальные папки по масково и ничего не нашел, так что решил создать новую.
Насчет символа, предоставляю на ваш выбор. Только про имена я не понял, речь о названиях новых папок? Если так, лучше использовать такой символ, чтобы со всех устройств можно было бы заходить в такие папки.
Простите, что не создал в этой теме пост. Можно перенести и эту тему удалить. Просто искал по форуме тему как перенести файлы в специальные папки по масково и ничего не нашел, так что решил создать новую.
Насчет символа, предоставляю на ваш выбор. Только про имена я не понял, речь о названиях новых папок? Если так, лучше использовать такой символ, чтобы со всех устройств можно было бы заходить в такие папки.
Hjkma
Уже неважно. Пусть тут будет.
И что, мне предлагается все возможные устройства проверить?
Уже неважно. Пусть тут будет.
И что, мне предлагается все возможные устройства проверить?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Hjkma
Перечитал первый пост и не совсем понял.
В этой одной папке подпапок вообще нет? Т.е. все 500 тыс. файлов скинуты в неё? А смысл? Это создаёт плохие условия для работы файлменеджеров.
Можно было бы и так искать.
Т.е. надо полагать, что и повторных имён нет?
Перечитал первый пост и не совсем понял.
В этой одной папке подпапок вообще нет? Т.е. все 500 тыс. файлов скинуты в неё? А смысл? Это создаёт плохие условия для работы файлменеджеров.
Можно было бы и так искать.
Т.е. надо полагать, что и повторных имён нет?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Flasher
Конкретно в этой папке подпапок нет. Дело в том, что файлы в этой папке изначательно были из других каталогов и перемещены потом в это место после поиска по маскам по всему компьютеру. Про повторных имён я не понял? Речь об имён файлов? Если да, то нет, названия файлов не идентичны и не повторяются.
Конкретно в этой папке подпапок нет. Дело в том, что файлы в этой папке изначательно были из других каталогов и перемещены потом в это место после поиска по маскам по всему компьютеру. Про повторных имён я не понял? Речь об имён файлов? Если да, то нет, названия файлов не идентичны и не повторяются.
Hjkma
А папки там же создавать?
А папки там же создавать?
Последний раз редактировалось Flasher Вт июл 26, 2016 15:29, всего редактировалось 2 раза.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Hjkma
Исправил. Мин.
Add: Немного потестировать пришлось.
Исправил. Мин.
Add: Немного потестировать пришлось.
Код: Выделить всё
'=================== VBS ===================
' Переместить файлы из каталога под курсором
' в папки с именами соответствующих им масок
' Параметр: %V
'===========================================
Option Explicit: Dim Filt, Fold, FSO, ShAp, Items, Mask, Name, Path
'===================== Маски файлов через "|" =====================
Filt = "1*.*|*name*|name*.txt|name 1.txt|name 1*.txt|name *1.*|" &_
"*2*|2.txt|name2.txt|name 2.txt|name *2.txt|name 2*.*|name 2.*|" &_
"*3*.txt|name 3.*|name3.txt|name 4.txt|name *4*.txt|*5*|*5*.txt"
'==================================================================
Fold = WScript.Arguments(0)
Set FSO = CreateObject("Scripting.FileSystemObject")
If Not FSO.FolderExists(Fold) Then WScript.Quit
Set ShAp = CreateObject("Shell.Application")
Set Fold = ShAp.NameSpace(Fold)
Set Items = Fold.Items
For Each Mask in Split(Filt, "|")
Items.Filter 73920, Mask
If Items.Count Then
Name = Replace(Mask, "*", ChrW(-246))
Path = Fold.Self.Path & "\" & Name
If Not FSO.FolderExists(Path) Then Fold.NewFolder(Name)
ShAp.NameSpace(Path).MoveHere Items
End If
NextАвтору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Здравствуйте!
Подскажите пожалуйста как правильно прописать маску для файлов:
05534_151_1_1.jpg
05535_160_1_1.jpg
05535_160_1_2.jpg
05536_162_2_1.jpg
05536_162_2_2.jpg
05536_162_2_3.jpg
Нужно, чтобы все файлы с одинаковым значением до первого подчеркивания попадали в одну папку с одноименным названием (05534, 05535, 05536).
Подскажите пожалуйста как правильно прописать маску для файлов:
05534_151_1_1.jpg
05535_160_1_1.jpg
05535_160_1_2.jpg
05536_162_2_1.jpg
05536_162_2_2.jpg
05536_162_2_3.jpg
Нужно, чтобы все файлы с одинаковым значением до первого подчеркивания попадали в одну папку с одноименным названием (05534, 05535, 05536).