IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Операционные системы M$ (http://www.imho.ws/forumdisplay.php?f=2)
-   -   Слишком большое кол-во файлов в папке? (http://www.imho.ws/showthread.php?t=135712)

metrim 13.10.2008 17:52

Слишком большое кол-во файлов в папке?
 
Ситуация следующая:
На компьютере обнаружилась пака которую ни Проводников Ни ТС не получается посмотреть
При попытке захода в неё, программы просто виснут.
Размер папки - порядка 17 гигов. В ней - поряда миллиона лишним файлов изображений. Возникло такое в результате настройки программы-грабера.
Правильно ли я понимаю, что такое кол во файлов причина траблы?
Система -
Атлон 939 3000+ гиг памяти.
Диск - SATA
ВинХР СП3
Каким образом можно решить проблему?
Можно ли каким нить батником автоматически растащить файлы из папки по нескольким папкам, что бы оперировать ими?
:help:

BorLase 13.10.2008 18:31

если известны имена файлов - запросто;

zzz.bat
----------------
mkdir c:\YYY\%1
move c:\XXX\%1*.jpg c:\YYY\%1
----------------

вызов батника: zzz.bat 1

подразумевается что XXX - это папка с фотографиями, а в YYY\1 мы переносим файлы, имя которых начинается с 1

если вызвать zzz.bat 11, то соответственно перенесутся файлы, которые начинаются c 11 в каталог YYY\11 и тд

если не разберешься дальше, пиши

Plague 13.10.2008 18:49

кстати, отключи в тотале отображение значков (Конфигурация - Настройка - значки - не показывать значки (либо только стандартные)). конечно миллион файлов - все равно дюже много, но все таки полегче ему будет. и еще подсчет объема выруби. это в расширенном меню, что CaptainFlint к своему русификатору прикладывает в Вид -Расширенные настройки - Строка состояния: вкл/выкл

BorLase 13.10.2008 19:16

Цитата:

Сообщение от Plague (Сообщение 1597846)
кстати, отключи в тотале отображение значков

очень и очень сомнительно, чтобы помогло

когда корзину открываешь с десятком тысяч файлов - тормоза идут нещадные; а тут файлов не сравнить.

ИМХО, идея metrim с растаскиванием файлов по отдельным папкам - единственное реальное решение

Borland 13.10.2008 22:12

Цитата:

Сообщение от BorLase (Сообщение 1597854)
ИМХО, идея metrim с растаскиванием файлов по отдельным папкам - единственное реальное решение

Если её ещё немного развить... ;)
process.cmd
Код:

@echo off
SET PROCDIR="d:\Trash"
call :PROCSS 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z
goto :EOF

:PROCSS
:STRT
IF "%1"=="" goto :EOF
md %PROCDIR%\%1
for %%J in (%PROCDIR%\%1*) DO (
  move "%%J" %PROCDIR%\%1
)
shift
goto STRT

В исходной папке (PROCDIR) создаётся 36 подпапок, в которые перемещаются файлы, начинающиеся с соответствующего символа от 0 до z (набор расширяемый, можно добавлять любые символы, допустимые в названии файла).
Принципиально возможно сделать дальнейшую сортировку и по второму символу (ещё один уровень вложения папок), но голова уже не варит...
Ограничение командного процессора: чтобы обрабатывались файлы, начинающиеся с "%" - в строку символов добавляется "%%".
Вместо одиночных символов можно использовать пары, тройки и т.д - просто строка "параметров" при этом получается ну очень длинной, набирать замучаешься...

P.S. Но всё равно убейте меня - не пойму, зачем вообще столько файлов нужно. Их же даже просмотреть не получится...

Borland 13.10.2008 23:11

Подумал немного... ;)
Сортировка по двум первым символам:
Код:

@echo off
SET PROCDIR="d:\Trash"
call :PROCSS 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z
goto :EOF

:PROCSS
:STRT
IF "%1"=="" goto :EOF
call :PROCSS2 %1 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x
shift /1
goto STRT

:PROCSS2
:STRT2
IF "%2"=="" goto :EOF
md %PROCDIR%\%1%2
for %%J in (%PROCDIR%\%1%2*) DO (
  move "%%J" %PROCDIR%\%1%2
)
shift /2
goto STRT2

Папки, соответственно, создаются двухсимвольные. Развивая идею, можно сделать и для 3-х и более.

metrim 14.10.2008 00:43

Спасибо всем за ответы, советы, решения :)
По уточнённымданным параметры сабжевого монстра -
Цитата:

Объём 18 гигов
Кол-во 527000 файлов
Вложенных каталогов - 4
Приблизительно такого вот вроде формата
Цитата:

08.06.2008 12:56 39 019 00135326
08.06.2008 12:56 152 00135326i.jpg
08.06.2008 12:51 39 005 00221484
08.06.2008 12:51 152 00221484i.jpg
08.06.2008 12:51 39 248 00347251
08.06.2008 12:51 152 00347251i.jpg
08.06.2008 13:42 39 343 00447229
08.06.2008 13:42 152 00447229i.jpg
08.06.2008 13:42 39 943 00447230
08.06.2008 13:42 152 00447230i.jpg
08.06.2008 13:42 38 536 00447231
08.06.2008 13:42 152 00447231i.jpg
08.06.2008 13:42 39 206 00447232
08.06.2008 13:42 152 00447232i.jpg
08.06.2008 13:42 40 172 00447233
08.06.2008 13:42 152 00447233i.jpg
Будем с ним культурно сражатся :)
Цитата:

Сообщение от Borland (Сообщение 1597898)
P.S. Но всё равно убейте меня - не пойму, зачем вообще столько файлов нужно. Их же даже просмотреть не получится...

Дык кто же знал что так получится :biggrin:
Влом было листать сайт, потому решил его рипнуть, вот и получил ...

Borland 14.10.2008 09:30

Цитата:

Сообщение от metrim (Сообщение 1597910)
такого вот вроде формата

Ну, если в названии файла два первых символа - цифры, то из строки символов нужно исключить все буквы (оставить только 0...9). Чтоб быстрее работал.;)


Часовой пояс GMT +4, время: 21:31.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.