Разнести файлы по папкам, заполняя их до заданного размера
Select messages from
# through # FAQ
[/[Print]\]

Total Commander -> Автоматизация Total Commander

#1: Разнести файлы по папкам, заполняя их до заданного размера Author: Ostap Fender PostPosted: Fri Nov 03, 2017 02:47
    —
Здравствуйте. Можете создать подобный скрипт?
Имеется Корневая папка с файлами одного формата, (размер папки иногда может достигать терабайт, поэтому и прошу помочь).
-Открываем папку в тоталкомандер в левом окне (сортировка по имени).
Задача: Распределить файлы, начиная с первого, соблюдая алфавитный порядок, по авто создаваемым папкам в правом окне, с присвоением каждой папке имени, начиная с 1 и далее по счётчику ,
с условием, что размер каждой папки не достигнет 2,0 гб, но будет максимально приближен к этому числу.


Last edited by Ostap Fender on Thu Nov 30, 2017 22:14; edited 1 time in total

#2:  Author: AvadaLocation: Россия, Саратов PostPosted: Wed Nov 15, 2017 18:11
    —
Ostap Fender
И снова — замечание за нарушение правил форума. Точки и заглавные буквы надо использовать согласно нормам русского языка, а не где вам захочется.
И уберите, пожалуйста, подпись-картинку. Новичкам не следует привлекать внимание к своим постам подобным образом, здесь этим и опытные участники форума не злоупотребляют.

#3:  Author: FlasherLocation: Москва PostPosted: Wed Nov 15, 2017 18:51
    —
Ostap Fender wrote:
размер папки иногда может достигать терабайт
А средний размер файлов какой? Если мелкий и файлов много, то лучше в эту папку вообще не заходить, если речь идёт только о первом уровне вложенности.
Ostap Fender wrote:
... соблюдая алфавитный порядок ...
с условием, что размер каждой папки не достигнет 2,0 гб, но будет максимально приближен к этому числу
А если первый файл — 1 Гб, второй — 1 Гб, третий — 1 Гб, и т. д., о какой тогда максимальной приближённости может идти речь?
Ostap Fender wrote:
выделяется следующий файл
В каком смысле "выделяется"? Может, размер для него рассчитывается? Не каждый же файл отдельно выбирать.
Ostap Fender wrote:
скрипт делает шаг назад
В этом нет смысла. Достаточно сравнивать размеры.

#4:  Author: Ostap Fender PostPosted: Sat Nov 18, 2017 14:26
    —
Avada wrote:
Ostap Fender
И уберите, пожалуйста, подпись-картинку. .

Исправил.


Last edited by Ostap Fender on Thu Nov 30, 2017 22:12; edited 1 time in total

#5:  Author: AvadaLocation: Россия, Саратов PostPosted: Sat Nov 18, 2017 15:30
    —
Ostap Fender
Давайте вы не будете выяснять публично отношения с модератором — это чревато очень нехорошими последствиями. Лучше на заданные вопросы дайте ответ. Что касается подписей у новичков, категорического запрета на это нет, но приемлемость той или иной подписи определяется модераторами, к мнению которых стоит прислушаться. Ваша подпись в нынешнем виде служит единственной цели — дополнительному привлечению внимания. На мой взгляд, избыточному и необоснованному.
Про оверквотинг уже предупреждалось. Упоминание вашего собственного ника в цитате однозначно никому не нужно. А помогать вам будут куда охотнее, если увидят с вашей стороны готовность следовать принятым здесь нормам, даже если некоторые из них не вызывают у вас восторга.

#6:  Author: Ostap Fender PostPosted: Wed Nov 29, 2017 23:17
    —
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

#7:  Author: FlasherLocation: Москва PostPosted: Thu Nov 30, 2017 00:59
    —
Ostap Fender wrote:
новая версия называется inNKX 1.2.1. и он именно для Тотал.
В делах скриптовых архиваторным плагинам особо ничего не светит. Поэтому нужна утилита.
Ostap Fender wrote:
архивы tar?-я не знаю, выходной формат .nkx
Так приложите парочку файликов. Как я узнаю?
Ostap Fender wrote:
если же Вы знаете как сразу виртуально раскидать файлы на какие то облачные подкаталоги, которых физически не будет, то плагин может паковать и в несколько потоков, при этом путями и сохранением структуры можно пренебречь. Хотя лично я это не представляю. Ведь плагину необходимы объекты упаковки.
Так вроде перемещение нужно было. Question А виртуальный вариант - это точки повторной обработки, симлинки или жёсткие ссылки. К перемещению это не относится, так как нужны источники. Но при создании архивов и это может не понадобиться, если упаковщик позволяет добавлять в архив файлы в заданные подпапки. Только в данном случае уже я не представляю, какой смысл в пренебрежении ими.

 А пока быстро набросал предварительный вариант с обычным перемещением:

P. S.: Очень советую не игнорировать ЦУ.

#8:  Author: Ostap Fender PostPosted: Thu Nov 30, 2017 11:30
    —
Quote:
Так приложите парочку файликов. Как я узнаю?
Пара архивов:
https://cloud.mail.ru/public/FTYN/7MpmJVpHC
https://cloud.mail.ru/public/LLUE/cpQT4iKaF
Плагин inNKX 1.2.1.
https://cloud.mail.ru/public/3XeZ/gvUa3pize
Quote:
Так вроде перемещение нужно было ?
Хорошая мысля приходит опосля. Embarassed
Quote:
А пока быстро набросал предварительный вариант с обычным перемещением:
Спасибо.
Разобрался. Самое важное, что 1,99 гб это вовсе не 1990 мб, а 2038,9999999999 мб, я забыл просто.


Last edited by Ostap Fender on Fri Dec 01, 2017 11:34; edited 2 times in total

#9:  Author: AvadaLocation: Россия, Саратов PostPosted: Thu Nov 30, 2017 21:44
    —
Ostap Fender
Ещё раз: заглавные буквы и точки в концах слов ставятся везде, а не выборочно по желанию. Вы не в чате, и это прямое нарушние правил форума.

#10:  Author: FlasherLocation: Москва PostPosted: Thu Nov 30, 2017 21:59
    —
Ostap Fender
Увы, но это не tar. Плагин у меня был. Гугл всё ещё работает. Про непригодность его использования в скриптах я писал выше.
Ostap Fender wrote:
Самое важное, что 1,99 гб это вовсе не 1990 мб
А при чём тут 1990? В исходном посте речь шла о 2Гб, что в переводе 2048 Мб. Вот их и надо писать в параметр.

#11:  Author: Ostap Fender PostPosted: Thu Nov 30, 2017 22:24
    —
Flasher wrote:
В исходном посте речь шла о 2Гб, что в переводе 2048 Мб. Вот их и надо писать в параметр.
О размере, максимально приближенном к 2 гб, но не в коем случае его не достигающем. Спасибо Вам огромное!!! Кнопка пашет на ура. Вы мне облегчили жизнь. 53 гб раскидала по папкам за тройку минут. Жаль, что я не обратился к вам, когда паковал размер 220 гб. А по поводу ошибок в написании - я исправлюсь.(Это я модераторам) Хотя по моему на сайте слишком маленькое окно, и отображаемый шрифт, где сообщения пишут.

Last edited by Ostap Fender on Sun Dec 03, 2017 20:14; edited 2 times in total

#12:  Author: FlasherLocation: Москва PostPosted: Thu Nov 30, 2017 22:31
    —
Ostap Fender
Я прекрасно понял то, о чём написано в исходном посте. В параметре задаётся не максимальный предел, а уже недопустимый. Т.е. при достижении суммы в 2048 Мб (2147483648 байт) файл пойдёт в новую папку. При сумме в 2147483647 байт файл останется в текущей.
Пож-та.

#13:  Author: Ostap Fender PostPosted: Thu Nov 30, 2017 23:09
    —
Flasher wrote:
Пож-та.
Какую дать маску в этом случае для массового архивирования?

Last edited by Ostap Fender on Sun Dec 03, 2017 20:14; edited 3 times in total

#14:  Author: FlasherLocation: Москва PostPosted: Thu Nov 30, 2017 23:48
    —
Ostap Fender
Маска ничего не решает.

#15:  Author: Ostap Fender PostPosted: Sat Dec 02, 2017 21:57
    —
Flasher wrote:
Маска ничего не решает.

Понял.

#16:  Author: ЧиполлиноLocation: Новочеркасск PostPosted: Thu Mar 28, 2019 00:43
    —
Скажите, а можно сделать аналогично, но не по указанному размеру, а указанному количеству (штук) файлов, в создаваемых номерных папках?
Просто раскидать файлы по номерным папкам, например, по 10000 штук.
Формат файлов одинаковый.

#17:  Author: FlasherLocation: Москва PostPosted: Thu Mar 28, 2019 01:05
    —
Чиполлино
Можно, если ещё потрудиться поискать, а не лезть в первую попавшуюся тему с фразой "разнести файлы" (1-2-3, 4).



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group