| 
 
	
		| View previous topic :: View next topic |  
		| Author | Message |  
		| Ostap Fender 
 
  
 Joined: 19 Jun 2017
 Posts: 35
 
 
 | 
			
				|  (Separately) Posted: Fri Nov 03, 2017 02:47    Post subject: Разнести файлы по папкам, заполняя их до заданного размера |   |  
				| 
 |  
				| Здравствуйте. Можете создать подобный скрипт? Имеется Корневая папка с файлами одного формата, (размер папки иногда может достигать терабайт, поэтому и прошу помочь).
 -Открываем папку в тоталкомандер в левом окне (сортировка по имени).
 Задача: Распределить файлы, начиная с первого, соблюдая алфавитный порядок, по авто создаваемым папкам в правом окне, с присвоением каждой папке имени, начиная с 1 и далее по счётчику ,
 с условием, что размер каждой папки не достигнет 2,0 гб, но будет максимально приближен к этому числу.
 
 Last edited by Ostap Fender on Thu Nov 30, 2017 22:14; edited 1 time in total
 |  |  
		| Back to top |  |  
		|  |  
		| Avada 
 
  
 Joined: 01 Aug 2008
 Posts: 10443
 Location: Россия, Саратов
 
 | 
			
				|  (Separately) Posted: Wed Nov 15, 2017 18:11    Post subject: |   |  
				| 
 |  
				| Ostap Fender И снова — замечание за нарушение правил форума. Точки и заглавные буквы надо использовать согласно нормам русского языка, а не где вам захочется.
 И уберите, пожалуйста, подпись-картинку. Новичкам не следует привлекать внимание к своим постам подобным образом, здесь этим и опытные участники форума не злоупотребляют.
 _________________
 Даже самая богатая фантазия
 Не представит себе наши безобразия.
 |  |  
		| Back to top |  |  
		|  |  
		| Flasher 
 
  
 Joined: 06 Nov 2009
 Posts: 14229
 Location: Москва
 
 | 
			
				|  (Separately) Posted: Wed Nov 15, 2017 18:51    Post subject: |   |  
				| 
 |  
				| А средний размер файлов какой? Если мелкий и файлов много, то лучше в эту папку вообще не заходить, если речь идёт только о первом уровне вложенности. 	  | Ostap Fender wrote: |  	  | размер папки иногда может достигать терабайт | 
   
 А если первый файл — 1 Гб, второй — 1 Гб, третий — 1 Гб, и т. д., о какой тогда максимальной приближённости может идти речь? 	  | Ostap Fender wrote: |  	  | ... соблюдая алфавитный порядок ... с условием, что размер каждой папки не достигнет 2,0 гб, но будет максимально приближен к этому числу
 | 
 
 В каком смысле "выделяется"? Может, размер для него рассчитывается? Не каждый же файл отдельно выбирать. 	  | Ostap Fender wrote: |  	  | выделяется следующий файл | 
 
 В этом нет смысла. Достаточно сравнивать размеры. 	  | Ostap Fender wrote: |  	  | скрипт делает шаг назад | 
 _________________
 Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
 |  |  
		| Back to top |  |  
		|  |  
		| Ostap Fender 
 
  
 Joined: 19 Jun 2017
 Posts: 35
 
 
 | 
			
				|  (Separately) Posted: Sat Nov 18, 2017 14:26    Post subject: |   |  
				| 
 |  
				|  	  | Avada wrote: |  	  | Ostap Fender И уберите, пожалуйста, подпись-картинку. .
 | 
 Исправил.
 
 Last edited by Ostap Fender on Thu Nov 30, 2017 22:12; edited 1 time in total
 |  |  
		| Back to top |  |  
		|  |  
		| Avada 
 
  
 Joined: 01 Aug 2008
 Posts: 10443
 Location: Россия, Саратов
 
 | 
			
				|  (Separately) Posted: Sat Nov 18, 2017 15:30    Post subject: |   |  
				| 
 |  
				| Ostap Fender Давайте вы не будете выяснять публично отношения с модератором — это чревато очень нехорошими последствиями. Лучше на заданные вопросы дайте ответ. Что касается подписей у новичков, категорического запрета на это нет, но приемлемость той или иной подписи определяется модераторами, к мнению которых стоит прислушаться. Ваша подпись в нынешнем виде служит единственной цели — дополнительному привлечению внимания. На мой взгляд, избыточному и необоснованному.
 Про оверквотинг уже предупреждалось. Упоминание вашего собственного ника в цитате однозначно никому не нужно. А помогать вам будут куда охотнее, если увидят  с вашей стороны готовность следовать принятым здесь нормам, даже если некоторые из них не вызывают у вас восторга.
 _________________
 Даже самая богатая фантазия
 Не представит себе наши безобразия.
 |  |  
		| Back to top |  |  
		|  |  
		| Ostap Fender 
 
  
 Joined: 19 Jun 2017
 Posts: 35
 
 
 | 
			
				|  (Separately) Posted: Wed Nov 29, 2017 23:17    Post subject: |   |  
				| 
 |  
				|  	  | Quote: |  	  | А средний размер файлов какой? Если мелкий и файлов много, то лучше в эту папку вообще не заходить, если речь идёт только о первом уровне вложенности. | 
 Файлы в основном маленькие, уровень вложенности первый, формат всегда один .ncw
 
  	  | Quote: |  	  | А если первый файл — 1 Гб, второй — 1 Гб, третий — 1 Гб, и т. д., о какой тогда максимальной приближённости может идти речь? | 
 Перепаковав сотни библиотек я с таким случаем не встречался. Теоретически возможно- но подряд - Нет.
 
  	  | Quote: |  	  | В каком смысле "выделяется"? Может, размер для него рассчитывается? Не каждый же файл отдельно выбирать.
 | 
 Я описывал как я это делаю в ручную. Изначально я просил просто разложить по папкам, а теперь пришла мысль, чтоб эти папки сразу упаковывались.
 Unnks extract -это старая модель программы. новая версия называется. inNKX 1.2.1. и он именно для Тотал. являются ли архивы tar?-я не знаю, выходной формат .nkx.
 https://cloud.mail.ru/home/bandicam%202017-11-29%2021-37-27-452.avi это видео. Можно не раскладывать по папкам сразу, а делать как на видео по одному архиву. Упаковываемая папка должна называться Samples. если же Вы знаете как сразу виртуально раскидать файлы на какие то облачные подкаталоги, которых физически не будет, то плагин может паковать и в несколько потоков, при этом путями и сохранением структуры можно пренебречь. Хотя лично я это не представляю. Ведь плагину необходимы объекты упаковки. Но вы лучше понимаете.
 Окончательно я бы сформулировал задачу так.
 Разложить файлы по папкам второго уровня с названием Samples, размером 1,99 гб , каждая из которых должна находиться в папке, с именем начиная с номера 2, и далее с увеличением счетчика. При этом последние оставшиеся файлы должны быть помещены в папку Samples, находящуюся в папке 1.
 Далее поиск папок с именем  Samples, вывод их на панель, выделение всех папок Samples и упаковка сразу всех папок, с применением счетчика, согласно номера корневого каталога пакуемой папки, исключив каталоги верхнего уровня. Должно получиться Samples 1.nkx, Samples 2.nkx и т.д.
 
 Last edited by Ostap Fender on Thu Nov 30, 2017 22:17; edited 1 time in total
 |  |  
		| Back to top |  |  
		|  |  
		| Flasher 
 
  
 Joined: 06 Nov 2009
 Posts: 14229
 Location: Москва
 
 | 
			
				|  (Separately) Posted: Thu Nov 30, 2017 00:59    Post subject: |   |  
				| 
 |  
				| В делах скриптовых архиваторным плагинам особо ничего не светит. Поэтому нужна утилита. 	  | Ostap Fender wrote: |  	  | новая версия называется inNKX 1.2.1. и он именно для Тотал. | 
 
 Так приложите парочку файликов. Как я узнаю? 	  | Ostap Fender wrote: |  	  | архивы tar?-я не знаю, выходной формат .nkx | 
 
 Так вроде перемещение нужно было. 	  | Ostap Fender wrote: |  	  | если же Вы знаете как сразу виртуально раскидать файлы на какие то облачные подкаталоги, которых физически не будет, то плагин может паковать и в несколько потоков, при этом путями и сохранением структуры можно пренебречь. Хотя лично я это не представляю. Ведь плагину необходимы объекты упаковки. | 
  А виртуальный вариант - это точки повторной обработки, симлинки или жёсткие ссылки. К перемещению это не относится, так как нужны источники. Но при создании архивов и это может не понадобиться, если упаковщик позволяет добавлять в архив файлы в заданные подпапки. Только в данном случае уже я не представляю, какой смысл в пренебрежении ими. 
 
   А пока быстро набросал предварительный вариант с обычным перемещением: 	  | Code: |  	  | '================================ VBS =================================
' Перемещение выбранных файлов в создаваемые папки с номерными именами,
 ' разбивая их по группам в рамках заданного лимита суммарного размера
 
 ' Параметры: %WL "<путь получателя>" <верхний лимит размера папок в Мб>
 ' Ключ добавки цепочки подкаталогов: /chain:<цепочка>
 ' Ключ смены начала счётчика с единицы на двойку: /2
 
 ' Примеры:   %WL "%T" 100
 '            %WL "%P" 1000 /2
 '            %WL "%T" 2000 /chain:NewFolder
 '            %WL "%P" 4000 /chain:"Folder 1\Folder 2\Folder 3" /2
 
 Option Explicit
 '========= Минимальное число цифр в именах создаваемых папок ==========
 Const Num = 1
 '======================================================================
 
 Dim C, i, Chain, List, Targ, Sum, FSO, oDisk, F, Size, Folder
 With WSH.Arguments
 If .UnNamed.Count = 0 Then WSH.Quit
 If .Named.Exists("2") Then i = 2 Else i = 1
 List = .Item(0) : Targ = .Item(1) : Sum = .Item(2) * 1048576
 If .Named.Exists("chain") Then Chain = "\" & .Named("chain")
 End With: Set FSO = CreateObject("Scripting.FileSystemObject")
 Set oDisk = CreateObject("Shell.Application").NameSpace(FSO.GetDriveName(Targ))
 With FSO.OpenTextFile(List,,,-1)
 Do : F = Trim(.ReadLine)
 If FSO.FileExists(F) Then
 Set F = FSO.GetFile(F) : Size = Size + F.Size
 If Size >= Sum Then Size = F.Size : i = i + 1
 If Size = F.Size Then _
 Folder = FSO.BuildPath(Targ, Right(String(Num - 1,"0") &_
 i, Num)) & Chain : oDisk.NewFolder Mid(Folder, 4)
 F.Move Folder & "\"
 End If
 Loop Until .AtEndOfStream : .Close
 End With
 MsgBox Space(18) & "            Выполнено!", 4160,_
 " Полимитное перемещение файлов в номерные папки      "
 | 
P. S.: Очень советую не игнорировать ЦУ.
 _________________
 Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
 |  |  
		| Back to top |  |  
		|  |  
		| Ostap Fender 
 
  
 Joined: 19 Jun 2017
 Posts: 35
 
 
 |  |  
		| Back to top |  |  
		|  |  
		| Avada 
 
  
 Joined: 01 Aug 2008
 Posts: 10443
 Location: Россия, Саратов
 
 | 
			
				|  (Separately) Posted: Thu Nov 30, 2017 21:44    Post subject: |   |  
				| 
 |  
				| Ostap Fender Ещё раз: заглавные буквы и точки в концах слов ставятся везде, а не выборочно по желанию. Вы не в чате, и это прямое нарушние правил форума.
 _________________
 Даже самая богатая фантазия
 Не представит себе наши безобразия.
 |  |  
		| Back to top |  |  
		|  |  
		| Flasher 
 
  
 Joined: 06 Nov 2009
 Posts: 14229
 Location: Москва
 
 | 
			
				|  (Separately) Posted: Thu Nov 30, 2017 21:59    Post subject: |   |  
				| 
 |  
				| Ostap Fender Увы, но это не tar. Плагин у меня был. Гугл всё ещё работает. Про непригодность его использования в скриптах я писал выше.
 
 А при чём тут 1990? В исходном посте речь шла о 2Гб, что в переводе 2048 Мб. Вот их и надо писать в параметр. 	  | Ostap Fender wrote: |  	  | Самое важное, что 1,99 гб это вовсе не 1990 мб | 
 _________________
 Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
 |  |  
		| Back to top |  |  
		|  |  
		| Ostap Fender 
 
  
 Joined: 19 Jun 2017
 Posts: 35
 
 
 | 
			
				|  (Separately) Posted: Thu Nov 30, 2017 22:24    Post subject: |   |  
				| 
 |  
				| О размере, максимально приближенном к 2 гб, но не в коем случае его не достигающем. Спасибо Вам огромное!!! Кнопка пашет на ура. Вы мне облегчили жизнь. 53 гб раскидала по папкам за тройку минут. Жаль, что я не обратился к вам, когда паковал размер 220 гб. А по поводу ошибок в написании - я исправлюсь.(Это я модераторам) Хотя по моему на сайте слишком маленькое окно, и отображаемый шрифт, где сообщения пишут. 	  | Flasher wrote: |  	  | В исходном посте речь шла о 2Гб, что в переводе 2048 Мб. Вот их и надо писать в параметр. | 
 
 Last edited by Ostap Fender on Sun Dec 03, 2017 20:14; edited 2 times in total
 |  |  
		| Back to top |  |  
		|  |  
		| Flasher 
 
  
 Joined: 06 Nov 2009
 Posts: 14229
 Location: Москва
 
 | 
			
				|  (Separately) Posted: Thu Nov 30, 2017 22:31    Post subject: |   |  
				| 
 |  
				| Ostap Fender Я прекрасно понял то, о чём написано в исходном посте. В параметре задаётся не максимальный предел, а уже недопустимый. Т.е. при достижении суммы в 2048 Мб (2147483648 байт) файл пойдёт в новую папку. При сумме в 2147483647 байт файл останется в текущей.
 Пож-та.
 _________________
 Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
 |  |  
		| Back to top |  |  
		|  |  
		| Ostap Fender 
 
  
 Joined: 19 Jun 2017
 Posts: 35
 
 
 | 
			
				|  (Separately) Posted: Thu Nov 30, 2017 23:09    Post subject: |   |  
				| 
 |  
				| Какую дать маску в этом случае для массового архивирования? 
 Last edited by Ostap Fender on Sun Dec 03, 2017 20:14; edited 3 times in total
 |  |  
		| Back to top |  |  
		|  |  
		| Flasher 
 
  
 Joined: 06 Nov 2009
 Posts: 14229
 Location: Москва
 
 | 
			
				|  (Separately) Posted: Thu Nov 30, 2017 23:48    Post subject: |   |  
				| 
 |  
				| Ostap Fender Маска ничего не решает.
 _________________
 Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
 |  |  
		| Back to top |  |  
		|  |  
		| Ostap Fender 
 
  
 Joined: 19 Jun 2017
 Posts: 35
 
 
 | 
			
				|  (Separately) Posted: Sat Dec 02, 2017 21:57    Post subject: |   |  
				| 
 |  
				|  	  | Flasher wrote: |  	  | Маска ничего не решает. | 
 Понял.
 |  |  
		| Back to top |  |  
		|  |  
		|  |  
  
	| 
 
 | 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
 
 |