|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Распределение артов в папки по 10 штук |
|
CMD/BAT - Распределение артов в папки по 10 штук
|
Новый участник Сообщения: 40 |
Нужен батник, который будучи помещенным в папку с артами, начнет создавать папки и наполнять их артами по 10 штук. т.е. в папке с батником 100 картинок, после запуска скрипта должно остаться 10 папок по 10 артов в каждом.
|
|
Отправлено: 00:14, 12-01-2020 |
fascinating rhythm Сообщения: 6626
|
Профиль | Отправить PM | Цитировать Что такое арты?
|
------- Отправлено: 08:21, 12-01-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата st3r:
Цитата st3r:
Цитата st3r:
На PowerShell (проверялось на 5.1; каталоги создаются нумерованные, тупо из 4 символов; имена берутся по порядку и никак не сортируются): Скрытый текст
$sSourceFolder = 'C:\Мои проекты\0294\Source' $iGroupCount = 10 $aFileInfo = Get-ChildItem -Path "$sSourceFolder\*" -Include '*.jpg', '*.png', '*.bmp', '*.gif' -File if($aFileInfo.Count -gt 0) { $i = 0 do { $sDestFolder = [System.IO.Path]::Combine($sSourceFolder, ([System.Int32]($i / $iGroupCount + 1)).ToString("0000")) if(-not [System.IO.Directory]::Exists($sDestFolder)) { [System.IO.Directory]::CreateDirectory($sDestFolder) | Out-Null } Write-Host "[$sDestFolder]" -ForegroundColor Yellow ($aFileInfo[$i..[Math]::Min($aFileInfo.Count - 1, $i + $iGroupCount)]).ForEach({ $_.MoveTo("$sDestFolder\$($_.Name)") Write-Host "`t$($_.Name)" -ForegroundColor Cyan }) $i = $i + $iGroupCount } while($i -lt $aFileInfo.Count) } else { Write-Warning 'Nothing found.' } |
|||
Отправлено: 08:52, 12-01-2020 | #3 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать CMD. Каталоги создаются нумерованные, тупо из 4 символов; файлы берутся по порядку, сначала более старые.
@Echo Off Set /A Portion=10 Set "Exclude=bat cmd xls "xlsm" txt" Set /A ND=10000 Set /A NF=0 FOR /F "usebackq delims=" %%f IN (`2^>nul Dir *.* /B /O:D /A:-D`) Do Call :MyMove "%%f" Exit /B :MyMove For %%e In (%Exclude%) Do If /I ".%%~e"=="%~x1" Exit /B 1 If Not %NF% EQU 0 GoTo :Cont :Begin Set /A ND+=1 If Exist "%ND:~1%" GoTo :Begin Md "%ND:~1%" :Cont Set /A NF+=1 >NUL Move "%~1" "%ND:~1%\" If %NF% EQU %Portion% Set /A NF=0 Exit /B Set "Exclude=bat cmd xls "xlsm" txt" |
------- Последний раз редактировалось megaloman, 13-01-2020 в 13:07. Отправлено: 17:40, 12-01-2020 | #4 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Статистика AdDuplex за сентябрь 2017 показала распределение версий Windows 10 | OSZone News | Новости и события Microsoft | 0 | 27-09-2017 11:30 | |
2010 - [решено] распределение по столбцам | Elizavetta | Microsoft Office (Word, Excel, Outlook и т.д.) | 6 | 11-07-2017 21:41 | |
Разное - Про кондесаторы. Где можно купить 10 штук.680 микрофарат 4 В MFC | Михайло | Прочее железо | 1 | 25-02-2017 15:32 | |
CMD/BAT - распределение файлов по папкам по списку | bellagio | Скриптовые языки администрирования Windows | 1 | 11-05-2014 13:14 | |
Распределение мощности по PCI-E | Tractor | Материнские платы и память | 5 | 07-11-2012 23:24 |
|