![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Скрипт для распределения файлов по папкам кучками по n-ому размеру |
|
Любой язык - Скрипт для распределения файлов по папкам кучками по n-ому размеру
|
Новый участник Сообщения: 5 |
Имеется папка с файлами. Требуется переместить файлы в подпапки (Dir1, Dir2, ... ), так чтобы каждая подпапка занимала не более, скажем 20 МБ.
Заранее всем спасибо. |
|
Отправлено: 13:04, 04-05-2013 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать 1. Зачем?
2. Что делать, если какие-то файлы более «скажем 20 МБ»? |
Отправлено: 15:21, 04-05-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать 1. Надо
![]() Резать архив (многотомный, всмысле) тоже не вариант (по причине криворукости принимающей стороны). 2. Таких нет и не предвидятся. В качестве исключительной ситуации можно оставлять их на месте. |
Отправлено: 15:31, 04-05-2013 | #3 |
Ветеран Сообщения: 1759
|
DmitryAnatolich, На PowerShell
push-location "C:\Folder" $files = new-object system.collections.arraylist $cnt = 1 gci | ? { !$_.psiscontainer -and $_.length -le 20Mb } | % { $files.add($_) } new-item -t dir "dir$cnt" while ($files) { if (($size + $files[0].length) -le 20Mb) { $size += $files[0].length move-item $files[0] "dir$cnt" $files.removerange(0,1) } else { $size = 0 $cnt += 1 new-item -t dir "dir$cnt" } } pop-location C:\Folder -- папка с вашими файлами 20Mb -- ограничение на размер создаваемых папок и размер файлов для перемещения |
Отправлено: 18:01, 04-05-2013 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 18:05, 04-05-2013 | #5 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать bat-файл
@Echo Off Set Where=D:\Мои документы\Мои рисунки\20130504_Прогулка_по_реке Set Prefix=Dir Set Max=20000000 SetLocal EnableExtensions EnableDelayedExpansion Set /A N=1000 Set /A Size=%Max%+1 For %%f In ("%Where%\*.*") Do ( Set /A NSize=!Size!+%%~zf If !NSize! GTR %Max% ( Call :NewDir Set /A NSize=%%~zf ) Set /A Size=!NSize! Move "%%f" !NDir! >nul ) GoTo :Eof :NewDir Set /A N=%N%+1 Set NDir=%N:~-3% Set NDir="%Where%\%Prefix%%NDir%\" If Exist %NDir% GoTo :NewDir Md %NDir% |
------- Отправлено: 20:37, 04-05-2013 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Foreigner, megaloman — на все вкусы
![]() |
Отправлено: 21:01, 04-05-2013 | #7 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Просто великолепно! Всем спасибо!
![]() |
Отправлено: 02:08, 05-05-2013 | #8 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать |
Отправлено: 13:34, 06-05-2013 | #9 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать DmitryAnatolich, Можно почитать здесь или порыться в полезных ресурсах в первой теме ветки форума
![]() |
------- Отправлено: 15:20, 06-05-2013 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Прочие - [решено] Сортирование файлов по папкам (копирование по дате создания) | DIMM2005 | Программное обеспечение Windows | 36 | 03-01-2020 16:54 | |
CMD/BAT - Не срабатывает скрипт переноса файлов по размеру - !!! с условием переименования !!! | dark-------13 | Скриптовые языки администрирования Windows | 0 | 19-03-2012 15:27 | |
CMD/BAT - [решено] Перемещение файлов по размеру | dark-------13 | Скриптовые языки администрирования Windows | 4 | 19-03-2012 14:31 | |
CMD/BAT - Не работает скрипт сортировки файлов по папкам | dark-------13 | Скриптовые языки администрирования Windows | 0 | 27-01-2012 23:11 | |
CMD/BAT - [решено] Удаление одинаковых файлов по размеру | Arsenik77 | Скриптовые языки администрирования Windows | 27 | 08-08-2011 04:53 |
|