|
|
|
Есть папка на винте где я насобирал около 300к картинок. Они маленькие где то 120х120 но их много и папка с ними не открывается. Чем их можно рендомно отобрать по папкам? Тоесть, указать одну из которой картинки будет грабить и указать конечный путь/пути/папки куда прога отберет картинки. |
|
|
|
|
|
Папка через виндовский проводник не открывается? А через другие файловые менеджеры - far, total commander, etc...? |
|
|
|
|
|
через проводник нет, тотал вешается, остальных у меня нет ) |
|
|
|
|
|
SAW, попробуй через bat-файл:
Код: |
goto start
:p
if %f%==1 (set f=2 & move /y "c:\мой каталог\%~1" "c:\папка 1\" & exit /b)
if %f%==2 (set f=3 & move /y "c:\мой каталог\%~1" "c:\папка 2\" & exit /b)
if %f%==3 (set f=1 & move /y "c:\мой каталог\%~1" "c:\папка 3\" & exit /b)
exit /b
:start
chcp 1251
set f=1
md "c:\папка 1"
md "c:\папка 2"
md "c:\папка 3"
for /f "delims=" %%i in ('dir /a:-d /b /on "c:\мой каталог\*.*"') do call :p "%%i"
pause
|
Здесь "мой каталог" - путь к папке с картинками, "папка 1..n" - папки, куда будут перенесены файлы.
Запускать так - создать текстовый файл, скопировать и изменить код, сохранить как файл с расширением .bat (не .txt, а именно .bat). Затем запустить этот файл. |
|
|
|
|
|
спасибо - попробую только где указывать колличество для каждой папки? |
|
|
|
|
|
SAW, такой bat-файл по-очереди перемещает файлы в кажду папку.
Я сейчас его протестировал, он файлы из папки source переместил в 3 новых папки:
Код: |
goto start
:p
if %f%==1 (set f=2 & move /y "c:\source\%~1" "c:\папка 1\" & exit /b)
if %f%==2 (set f=3 & move /y "c:\source\%~1" "c:\папка 2\" & exit /b)
if %f%==3 (set f=1 & move /y "c:\source\%~1" "c:\папка 3\" & exit /b)
exit /b
:start
chcp 1251
set f=1
md "c:\папка 1"
md "c:\папка 2"
md "c:\папка 3"
for /f "delims=" %%i in ('dir /a:-d /b /on "c:\source\*.*"') do call :p "%%i"
pause
|
|
|
|
|
|
|
тоесть делит на равное колличество файлов? |
|
|
|
|
|
ничего этот код не дает ((( вот как я его изменил:
Код: |
goto start
:p
if %f%==1 (set f=2 & move /y "d:\all_models\%~1" "d:\all_models_1\" & exit /b)
if %f%==2 (set f=3 & move /y "d:\all_models\%~1" "d:\all_models_2\" & exit /b)
if %f%==3 (set f=1 & move /y "d:\all_models\%~1" "d:\all_models_3\" & exit /b)
exit /b
:start
chcp 1251
set f=1
md "d:\all_models_1"
md "d:\all_models_2"
md "d:\all_models_3"
for /f "delims=" %%i in ('dir /a:-d /b /on "d:\all_models\*.*"') do call :p "%%i"
pause
|
запускается консоль и на этом все заканчивается...
хотя консоль я вижу раздуплилась и что -то пошло. Подождем.. |
|
|
|
|
|
Все! поразкидывал скрипт по папкам - СПАСИБО! |
|
|
|
|
|
Yabuti, а если таких папок 14 или более, тех в которые нужно раскидать картинки - какой тогда код? Вот этот не работает, только в первую и последнюю папку кудает:
Код: |
goto start
:p
if %f%==1 (set f=14 & move /y "c:\мой каталог\%~1" "c:\папка 1\" & exit /b)
if %f%==2 (set f=13 & move /y "c:\мой каталог\%~1" "c:\папка 2\" & exit /b)
if %f%==3 (set f=12 & move /y "c:\мой каталог\%~1" "c:\папка 3\" & exit /b)
if %f%==4 (set f=11 & move /y "c:\мой каталог\%~1" "c:\папка 4\" & exit /b)
if %f%==5 (set f=10 & move /y "c:\мой каталог\%~1" "c:\папка 5\" & exit /b)
if %f%==6 (set f=9 & move /y "c:\мой каталог\%~1" "c:\папка 6\" & exit /b)
if %f%==7 (set f=8 & move /y "c:\мой каталог\%~1" "c:\папка 7\" & exit /b)
if %f%==8 (set f=7 & move /y "c:\мой каталог\%~1" "c:\папка 8\" & exit /b)
if %f%==9 (set f=6 & move /y "c:\мой каталог\%~1" "c:\папка 9\" & exit /b)
if %f%==10 (set f=5 & move /y "c:\мой каталог\%~1" "c:\папка 10\" & exit /b)
if %f%==11 (set f=4 & move /y "c:\мой каталог\%~1" "c:\папка 11\" & exit /b)
if %f%==12 (set f=3 & move /y "c:\мой каталог\%~1" "c:\папка 12\" & exit /b)
if %f%==13 (set f=2 & move /y "c:\мой каталог\%~1" "c:\папка 13\" & exit /b)
if %f%==14 (set f=1 & move /y "c:\мой каталог\%~1" "c:\папка 14\" & exit /b)
exit /b
:start
chcp 1251
set f=1
md "c:\папка 1"
md "c:\папка 2"
md "c:\папка 3"
md "c:\папка 4"
md "c:\папка 5"
md "c:\папка 6"
md "c:\папка 7"
md "c:\папка 8"
md "c:\папка 9"
md "c:\папка 10"
md "c:\папка 11"
md "c:\папка 12"
md "c:\папка 13"
md "c:\папка 14"
for /f "delims=" %%i in ('dir /a:-d /b /on "c:\мой каталог\*.*"') do call :p "%%i"
pause
|
|
|
|
|
|
|
Привет!
У меня он только для 3 папок работает, больше не хочет. Можно из 3 еще 4 раза рассортировать, будет 12 папок, а там с каждой понемногу добавить в еще две папки для файлов. |
|
|
|
|
|
понял, а то думал со мной все безнадежно. |
|
|
|
|
|
SAW, |
|
|
|
|
|