Скажите, а можно сделать аналогично, но не по указанному размеру, а указанному количеству (штук) файлов, в создаваемых номерных папках?
Просто раскидать файлы по номерным папкам, например, по 10000 штук.
Формат файлов одинаковый.
Разнести файлы по папкам, заполняя их до заданного размера
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Чиполлино
Можно, если ещё потрудиться поискать, а не лезть в первую попавшуюся тему с фразой "разнести файлы" (1-2-3, 4).
Можно, если ещё потрудиться поискать, а не лезть в первую попавшуюся тему с фразой "разнести файлы" (1-2-3, 4).
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Благодарю, этот скрипт очень помог. Однако выполнение его протекало не вполне ожидаемым образом. Поскольку я не знаю ничего о скриптах, кроме совсем базовых вещей типа «создать кнопку и повесить на неё вот этот VBA с параметром», что именно в нём поправить, чтобы работал как предполагается, я не сообразил.Flasher писал(а):А пока быстро набросал предварительный вариант с обычным перемещением:
Задача:
Приблизительно 35 тысяч файлов расположены в одной папке без подкаталогов, общий размер порядка 370 Гб.
Нужно перемещением раскидать эти файлы в подпапки, которые будут создаваться здесь же.
Максимальный размер получаемой подпапки не должен превышать 4 Гб.
Как я понял, %WL "<путь получателя>" <верхний лимит размера папок в Мб> нужно использовать в параметре кнопки на панели TC, поэтому я нажал «изменить» кнопку и в поле «параметр» вбил:
Код: Выделить всё
%WL "%T" 4000Код: Выделить всё
%WL "%T" 400Ни один файл не потерялся, задача была выполнена успешно, всё проверено несколько раз. Но недоумение осталось: либо я не понял, и в спойлере, откуда я скопировал скрипт, расположен какой-то другой скрипт, не разбрасывающий файлы по папкам заданного размера, либо я совсем не понял.
Есть определённые подозрения о появляющихся 10 папках. Каждый раз их было десять. На другом наборе данных, например 23 файла по 1-3 Гб, скрипт с теми же параметрами создаёт всё те же 10 папок и аккуратно разбрасывает файлы по всем десяти. Ещё на одном наборе данных — 293 файла на 97 Гб, размером от 1 Кб до 6 Гб — скрипт снова раскидывает всё по десяти папкам. Чувствую себя в лыжах.
Код взят без изменений из спойлера вот в шестом сообщении текущей темы и сохранён как 'названиефайла.vbs'. Моя задача успешно выполнена, но осталось любопытство — что я сделал не так, или чего не понял.
ПС. Регистрация на форуме что-то поломалась, и на gmail не приходит письмо с активацией, спам проверил, разумеется. Не смог найти списка проблем с регистрацией или ограничений, но догадался попробовать ещё и с яндекс-почты, там пришло мгновенно. Возможно что-то где-то отвалилось или если есть ограничение на провайдеров, об этом стоило бы написать в форме регистрации, сейчас этого нет. Также при ошибке регистрации предлагается «написать администратору», спешу уведомить, что без регистрации на форуме написать администратору негде и некуда, если у пользователя нет аккаунта на форуме. ICQ, наверное, не имеет смысл считать актуальным методом связи, хотя он указан у пары модераторов в профиле.
[mod="CaptainFlint"]Оживил ссылку.
По поводу связи с администратором: замечание справедливое, подредактировал сообщение, добавив туда email-ссылку.
Что касается gmail, то со стороны форума никаких ограничений нет. Если их сервер отказывается принимать почту, мы ничего не можем с этим поделать, равно как и с любым другим почтовым сервисом.[/mod]
sa
Благодарю, на актуальном проекте проверить уже не мог, но на «кошках» работает — для упомянутого выше набора данных из 293 файлов ~97 Гб, размером от 1 Кб до 6 Гб скрипт создал 26 папок, раскидав по ним файлы в пределах задаваемого потолка в 4 Гб — %WL "%T" 4000.
Что интересно, несколько папок превышают этот размер, в случае когда перемещаемый файл имеет размер больший, чем поставленное ограничение, тогда он в папке один. В общем, скрипт для моей задачи подходит, и всё работает, насколько я могу судить.
Благодарю, на актуальном проекте проверить уже не мог, но на «кошках» работает — для упомянутого выше набора данных из 293 файлов ~97 Гб, размером от 1 Кб до 6 Гб скрипт создал 26 папок, раскидав по ним файлы в пределах задаваемого потолка в 4 Гб — %WL "%T" 4000.
Что интересно, несколько папок превышают этот размер, в случае когда перемещаемый файл имеет размер больший, чем поставленное ограничение, тогда он в папке один. В общем, скрипт для моей задачи подходит, и всё работает, насколько я могу судить.